MYSQL中SUM函数的索引

我在MYSQL中有一个像这样的查询(简化):

SELECT col1,SUM(DISTINCT col2) AS S
FROM tbl1
WHERE col1='abbc'
GROUP BY col1
ORDER BY S ASC

我知道col1的索引对这种查询很有用.我想知道(col1,col2)上的覆盖索引是否更有用,或者它是否没有任何区别.
最佳答案
我尝试它,它似乎不同,更有用

索引版本执行计划:

没有明显的

SELECT col1,SUM(col2) AS S
FROM tbl1
WHERE col1='abbc'
GROUP BY col1
ORDER BY S ASC;

不同

SELECT col1,SUM(distinct col2) AS S
FROM tbl1
WHERE col1='abbc'
GROUP BY col1
ORDER BY S ASC;

SQL Fiddle

没有索引版本执行计划:

没有什么不同

SQL Fiddle

dawei

【声明】:丽水站长网内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。

相关文章