【发布时间】:2013-12-09 08:16:34
【问题描述】:
我正在运行一个查询 -
SELECT COUNT(DISTINCT c.msisdn)
FROM cdr c
WHERE c.evedate>='2013-10-01';
第一次执行时,需要 1 分钟。但在 2 秒内执行相同的查询需要 3 分钟。
为什么会这样?
我在其他查询中也发现了相同的行为。
如果需要,请提供详细信息:
我的机器有 4 GB RAM
mysql 5.5版本。
key_buffer_size = 350M。
这张表有 1.4 亿条记录,有 10 个分区。
谢谢。
【问题讨论】:
-
所以第一次需要1',第二次需要3',反之亦然?
-
第一次 1 第二次 3 再第三次 3,3,3,3
-
请在我们的查询上使用 EXPLAIN,然后执行它,然后再次使用 EXPLAIN。我认为优化器会造成严重破坏。 ANALYZE 可能是一个解决方案。
标签: mysql sql performance optimization query-tuning