有没有办法检查mysql索引的性能

时间:2012-07-20 11:15:51

标签: php mysql database

我为我的表分配了索引。有没有办法确定我的查询的性能?谢谢

修改 EXPLAIN result

这里我附加了我的测试服务器EXPLAIN结果。在测试服务器中只有很少的行,但在实时服务器中有大量的记录,执行查询需要10到15分钟。 如果它在这里不可见我正在给这个图像的网址

http://i45.tinypic.com/n6t8cx.jpg

2 个答案:

答案 0 :(得分:5)

以下查询将告诉您查询是否使用索引:

EXPLAIN EXTENDED SELECT col1, col2, col3, COUNT(1) 
FROM table_name 
WHERE col1 = val 
GROUP BY col1 
ORDER BY col2;

SHOW WARNINGS;

您可以添加覆盖索引以获得最佳性能。

对于覆盖索引,首先添加在where子句中使用的列,然后在group中使用的列中按列顺序使用,然后在select中使用列。

e.g。对于上述查询,您可以添加覆盖索引KEY(col1, col2, col3)

*注意添加更多索引会降低插入查询的速度。

答案 1 :(得分:1)

也许你可以打开慢查询日志,这可能会提供额外的信息。阅读本文了解更多信息: http://dev.mysql.com/doc/refman/5.0/en/slow-query-log.html