PHP中的大型mysql查询
作者:互联网
我有一张大约1400万行的大桌子.每行包含一个文本块.我还有另一个大约6000行的表,每行有一个单词和每个单词的六个数值.我需要从第一个表中获取每个文本块,并找到第二个表中每个单词出现的次数,然后计算每个文本块的六个值的平均值并存储它.
我有一台带有i7和8GB内存的debian机器应该能够处理它.目前我正在使用php substr_count()函数.然而,PHP并不觉得它是解决此问题的正确方法.除了解决超时和内存限制问题之外,是否有人有更好的方法来做到这一点?是否可以只使用SQL?如果不是在不重载服务器的情况下执行PHP的最佳方法是什么?
解决方法:
一次一个地从“大”表中记录每条记录.将单个“块”文本加载到程序中(php或其他任何内容),然后进行搜索和计算,然后在需要的地方保存适当的值.
将每条记录作为自己的事务,与其他记录隔离开来.如果您被中断,请使用保存的值来确定重新开始的位置.
完成现有记录后,您只需要在将来输入或更新记录时执行此操作,这样会更容易.您现在只需要大肆宣传就可以更新数据.
标签:php,mysql,sql,large-data 来源: https://codeday.me/bug/20190626/1293787.html