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)上的覆盖索引是否更有用,或者它是否没有任何区别.最佳答案我尝

我在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,我们将及时予以处理。

为您推荐

联系我们

联系我们

0577-28828765

在线咨询: QQ交谈

邮箱: xwei067@foxmail.com

工作时间:周一至周五,9:00-17:30,节假日休息

返回顶部