3

我在我的网站上使用 PHP 和 MySQL,并且必须汇总一些指标才能为客户生成报告。这些指标可以在一个 400 万行的表中找到,该表使用 MyISAM 引擎并分布在 12 个 PARTITIONS 中。

在 PHP 循环(for 循环)中,对于每次迭代,我检索 1000 行与特定 ID 匹配的

id = X OR id =Y OR id = Z

(我没有对 UNION 1 id UNION 2 等临时表使用任何内部连接,因为它有点慢,可能是因为分区选项依赖于 id 的哈希)。

问题是查询越来越慢。这可能是由逐渐缓存的东西引起的,但我不知道是什么。

任何帮助将非常宝贵,非常感谢。

4

1 回答 1

5

当您使用从索引深处开始的 LIMIT 时,MySQL 会变得非常慢。查看这篇文章以优化后期行查找:

http://explainextended.com/2009/10/23/mysql-order-by-limit-performance-late-row-lookups/

于 2013-09-06T23:07:10.190 回答