首页 MySql MYSQL中SUM函数的索引

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

本文来自网络,不代表青岛站长网立场。转载请注明出处: https://www.0532zz.com/html/shujuku/mysql/20201230/14049.html
上一篇
下一篇

作者: dawei

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

为您推荐

返回顶部