我为我的表分配了索引。有没有办法确定我的查询的性能?谢谢
修改
这里我附加了我的测试服务器EXPLAIN结果。在测试服务器中只有很少的行,但在实时服务器中有大量的记录,执行查询需要10到15分钟。 如果它在这里不可见我正在给这个图像的网址
答案 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