Кластерный и некластеризованный индекс для запроса диапазона дат - PullRequest
0 голосов
/ 17 мая 2018

У меня есть этот запрос в mySql:

SELECT field1
FROM table1
WHERE tdate > '2018-6-01' OR (tdate BETWEEN '2015-4-07' AND 2016-6-07);

Что еще больше повысит производительность запросов: индекс для tdate или индекс покрытия для (tdate, field1)?

1 Ответ

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

Вы можете создать индекс с включенными столбцами :

Перепроектировать некластеризованные индексы с большим размером ключа индекса, чтобы только столбцы, используемые для поиска и поиска, являлись ключевыми столбцами. Сделайте все другие столбцы, которые покрывают запрос, в неключевые столбцы. Таким образом, у вас будут все столбцы, необходимые для покрытия запроса, но сам индексный ключ мал и эффективен.

CREATE INDEX my_idx_name ON tab_name(tdate) INCLUDE (field1)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...