Удаление этих индексов без теста производительности и / или без проверки, используются ли они, является действительно плохой идеей.
Давайте попробуем пример.Предположим, что у нас есть таблица с заказами или что-то.Существует программа, которая запускается время от времени и запрашивает новые записи для обработки.Поиск по статусу.Новые заказы имеют статус NEW.После обработки они получают статус ОБРАБОТАНО или ОТКАЗАНО.Другими словами, есть три возможных значения.Предположим, что существует несколько миллионов записей и что обычно их около ста со статусом NEW.
Что происходит со временем опроса, если индекс, который обычно очень избирателен для NEW записей, отбрасывается?
Что касается записи, я знаю, что можно использовать NULL для записей, которые не следует индексировать, и что модель данных может быть реорганизована и т. Д. И т. П., Но это довольно распространенное решение в дикой природе.Простое удаление индекса повредило бы.
В целом, влияние снижения индекса низкой селективности может быть катастрофой.Это также может работать хорошо, это зависит от приложения.Лучший подход - включить мониторинг и посмотреть, действительно ли используется индекс.