Le principe basique d'un index, c'est d'optimiser les accès aux données. Plutôt que de lire toute la table à chaque fois, Oracle va lire l'index le plus adéquat par rapport à ta requête (moins de lectures à faire), puis lire la table en fonction des lignes de l'index lu. L'index est maintenu automatiquement à chaque modification de données.
Au bout d'un moment, à force d'insert, de delete et d'update, la taille des indexes augmente un peu trop et une "reconstruction" peut s'avérer nécessaire
Un shrink (préférable)
ALTER INDEX index_name SHRINK SPACE
ou un rebuild (plus long, crée un nouvel index (donc besoin d'avoir autant d'espace libre dans ton tablespace, mais tu peux aussi rebuilder dans un autre tablespace)
ALTER INDEX index_name REBUILD ONLINE
Mieux vaut passer ces ordre quand la base n'est pas chargée, lock de la table le temps de reconstruction (pour le Rebuild), pour le shrink je ne sais plus.
Partager