Индекс по сумме функции в MYSQL - PullRequest
0 голосов
/ 19 мая 2018

У меня есть запрос в MYSQL, такой как (упрощенно):

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

Я знаю, что индекс для col1 был бы полезен для такого рода запросов.Я хотел бы знать, будет ли индекс покрытия на (col1, col2) более полезным или он не будет иметь никакого значения.

1 Ответ

0 голосов
/ 19 мая 2018

я пробую, это кажется другим и более полезным


План выполнения версии индекса:

без отчетливых

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...