Второй индекс отличается и не является избыточным как таковым.
Как об этом запросе:
SELECT DISTINCT ColA FROM TABLE WHERE ColA IS NOT NULL;
Oracle может ответить на этот вопрос полностью из индекса 2. Теперь, индекс 2 можно было бы ожидать, что небольшие (меньше блоков), чем индекс 1. Это означает, что он является лучший индекс для вышеуказанного запроса.
Если ваше приложение никогда не делает запрос, который подходит Index2 лучше, чем Index1, то он является избыточным для вашего приложения.
Индексы всегда представляют собой компромисс между производительностью. Когда вставка, обновление или удаление выполняются, необходимо выполнить дополнительную работу, чтобы поддерживать каждый дополнительный индекс.
Это более чем компенсируется увеличением производительности, обеспечиваемой индексом? Зависит от вашего приложения и использования данных.
Это, вероятно, справедливо в большинстве случаев, но см. Мой ответ, когда может быть неправильно сбросить перекрывающий индекс. –