Le deuxième index est différent et n'est pas redondant en soi.
Que diriez-vous cette requête:
SELECT DISTINCT ColA FROM TABLE WHERE ColA IS NOT NULL;
Oracle peut répondre à cette question tout à fait de l'index 2. Maintenant, l'indice 2 serait devrait être de petite taille (moins de blocs) que l'indice 1. Cela signifie, il est meilleur index pour la requête ci-dessus.
Si votre application n'obtient jamais une requête mieux adaptée à Index2 qu'Index1, elle est redondante pour votre application.
Les index sont toujours un compromis de performance. Lorsqu'un insert, une mise à jour ou une suppression est effectuée, il y a un travail supplémentaire à faire pour maintenir chaque index supplémentaire.
Est-ce plus que compensé par l'augmentation des performances fournies par l'index? Cela dépend de votre application et de l'utilisation des données.
C'est probablement juste dans la plupart des cas, mais voir ma réponse pour quand il pourrait être faux de laisser tomber l'index chevauchant. –