我有一个表,大约有 10M 条目,选择查询太慢,所以我尝试向表中添加复合索引,在添加复合索引后,解释查询显示的行数较少。但是在运行实际查询时,添加索引的测试表有时会比没有索引的表花费更多的时间。我知道多次运行相同的查询时,时间会随着 mysql 优化它而减少。有没有办法对实际性能改进进行基准测试。
无索引解释结果
用索引解释结果
答案 0 :(得分:0)
简答:“可能”。
长答案:
将“行”列中的值相乘有时是预期(相对)性能的一个很好的指标。 “行”在第二个中不可见; Extra
有时会提供有用的信息。
如果您想进一步讨论,请提供
SHOW CREATE TABLE
SELECT ...
一般来说,最好先使用 =
列的复合索引,然后再进行“范围”测试。更多详情:http://mysql.rjweb.org/doc.php/index_cookbook_mysql
在该链接中是一种“更好”的基准查询方式:http://mysql.rjweb.org/doc.php/index_cookbook_mysql#handler_counts