加入收藏 | 设为首页 | 会员中心 | 我要投稿 大连站长网 (https://www.0411zz.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

MYSQL中SUM函数的索引

发布时间:2021-05-17 20:06:27 所属栏目:MySql教程 来源:网络整理
导读:我在MYSQL中有一个像这样的查询(简化): SELECT col1,SUM(DISTINCT col2) AS SFROM tbl1WHERE col1='abbc'GROUP BY col1ORDER 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

(编辑:大连站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!