一些背景知识:
我有一个php程序,它使用大型数据集执行很多操作,每15分钟一次(每15分钟大约1000万条记录)。我在mysql
数据库上有一个表,其中包含电话号码(超过3亿行),我需要在我的文件中检查每个row
以及mysql
表中的电话号码是否为select * from phone.table where number = '$phoneNumber';
包含在原始文件记录中我需要知道,所以我可以将它添加到我的统计记录中。到目前为止,我已经尝试过每次执行sql调用,如:
$phoneNumber
mysql
是我尝试比较的原始记录中的数字。然后我检查查询是否带回了结果,这就是我知道该记录是否包含我需要检查的电话号码的方式。
这就是我每15分钟执行1000万个sql查询,而且速度太慢而且内存密集。我尝试的第二件事是只做一次sql查询并将结果存储在一个数组中并比较那样的原始记录电话号码。但是存储在内存中的3亿个记录数组也是太多了。
我在这里不知所措,我似乎无法找到办法。只是添加一些东西,是的,我必须将表存储在d-sm-block
中,是的,我必须用PHP执行此操作(老板要求它在php中完成)。