【发布时间】:2016-01-26 14:12:26
【问题描述】:
我有一个大约需要 7 秒的查询。我将它分成两个查询,提供与第一个相同的数据,大约需要 0.01 秒。我原以为我正确地索引了它,但是,可能没有。数据库目前只有很少的数据。我正在使用 MySQL 5.5.46。我正在使用带有 PDO 的 PHP,但是,我认为这无关紧要,并且故意没有用 PHP 或 PDO 标记这个问题。
我不是在问为什么我的特定查询需要这么长时间或如何识别慢速查询,而是要求通用步骤来确定慢速查询的原因。我希望EXPLAIN 会被使用。您在EXPLAIN 中寻找什么?还可以采取哪些其他步骤?
【问题讨论】:
-
对于这样一个一般性问题,有许多种可能的答案。
OR在优化方面是致命的。 my cookbook 就该主题提供一些指导。 -
要识别慢查询,设置
long_query_time = 1并开启慢日志。一天后,在慢日志上使用pt-query-digest。
标签: mysql