我已经为我的表分配了索引。有什么方法可以确定我的查询的性能吗?谢谢
编辑
在这里,我附上了我的测试服务器解释结果。在测试服务器中只有几行,但在实时服务器中,有数百万条记录,执行查询需要 10 到 15 分钟。如果它在这里不可见,我将提供此图像的 url
我已经为我的表分配了索引。有什么方法可以确定我的查询的性能吗?谢谢
编辑
在这里,我附上了我的测试服务器解释结果。在测试服务器中只有几行,但在实时服务器中,有数百万条记录,执行查询需要 10 到 15 分钟。如果它在这里不可见,我将提供此图像的 url
以下查询将告诉您查询是否使用索引:
EXPLAIN EXTENDED SELECT col1, col2, col3, COUNT(1)
FROM table_name
WHERE col1 = val
GROUP BY col1
ORDER BY col2;
SHOW WARNINGS;
您可以添加覆盖索引以获得最佳性能。
对于覆盖索引,您首先添加在 where 子句中使用的列,然后是在 group 中使用的列,然后是在 order by 中使用的列,然后是在 select 中使用的列。
例如对于上述查询,您可以添加覆盖索引KEY(col1, col2, col3)
*注意添加更多索引会减慢您的插入查询。
也许您可以打开慢查询日志,这可能会提供更多信息。阅读此内容以获取更多信息: http ://dev.mysql.com/doc/refman/5.0/en/slow-query-log.html