使用php/MMySQL在300多万行上运行查询


Using php/MySQL to run queries on 3+million rows

我的任务是创建一个网页,查询一个有300万行的表。我不想打印所有的行,而是创建一个报告,列出与另一个项目出现在同一个篮子中的前10个项目。

我以前从未使用php处理过这么多数据,所以我的问题不是关于进行计算的实际编码,而是我应该考虑的关键因素是什么如果php或sql完成大部分计算,页面不会更新任何记录,只会根据其值和频率进行计算就超时问题和硬件而言,这是多么昂贵。Etc

这个页面的加载量不会很大,我想每天不到1000。

我认为您需要注意的是

MySQL:为您需要执行where或join操作的列创建适当的索引,使用explain查看查询是否使用了正确的索引。您可能还想查看分区表,但对于3 millon,我认为这是没有必要的,除非您的数据保持快速增长。

PHP:确保您没有将太多数据加载到内存中,您可以使用xdebug来转储内存使用文件,以检查您是否存在速度减慢的问题。