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

最佳答案
我尝试它,它似乎不同,更有用

索引版本执行计划:

没有明显的

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.f2er.com/mysql/434043.html

猜你在找的MySQL相关文章