В моем Java-приложении обнаружена небольшая проблема с производительностью, вызванная таким простым запросом:
SELECT DISTINCT a
FROM table
WHERE checked = 0
LIMIT 10000
У меня есть индекс в столбце checked
.
В начале запрос выполняется очень быстро (т. Е. Там, где почти все строки имеют checked
= 0).Но поскольку я отмечаю все больше и больше строк, как проверено, запрос становится очень неэффективным (до нескольких минут).
Как повысить производительность этого запроса?Должен ли я добавить комплексный индекс
или, скорее,
В моей таблице много миллионов строк, поэтому я не хочу проверять ее вручную и надеюсь, что мне повезет.