У меня есть этот запрос в mySql:
SELECT field1 FROM table1 WHERE tdate > '2018-6-01' OR (tdate BETWEEN '2015-4-07' AND 2016-6-07);
Что еще больше повысит производительность запросов: индекс для tdate или индекс покрытия для (tdate, field1)?
tdate
(tdate, field1)
Вы можете создать индекс с включенными столбцами :
Перепроектировать некластеризованные индексы с большим размером ключа индекса, чтобы только столбцы, используемые для поиска и поиска, являлись ключевыми столбцами. Сделайте все другие столбцы, которые покрывают запрос, в неключевые столбцы. Таким образом, у вас будут все столбцы, необходимые для покрытия запроса, но сам индексный ключ мал и эффективен.
CREATE INDEX my_idx_name ON tab_name(tdate) INCLUDE (field1)