20 décembre 2018

Index virtuel et index invisible : à quoi servent-ils? - Virtual index and invisible index: what are they for?

IntroductionLa création d'un index, ainsi que sa suppression, peuvent prendre des heures selon la volumétrie des tables. En 2018, une table de 500 millions d'enregistrements n'a rien d'extraordinaire, ni même une table en ayant 5 milliards. Le problème est que lorsqu'on veut optimiser une requête via l'ajout d'un index pour voir si le CBO génère un meilleur plan, tester cette hypothèse va prendre trop de temps. C'est pour répondre à ce problème que Oracle a créé les types d'index suivants : index virtuel et index invisible. Ces types... [Lire la suite]
Posté par David DBA à 18:21 - - Permalien [#]
Tags : ,

16 décembre 2018

Index partiel sur NULL : comment indexer uniquement la valeur NULL d'une colonne - Partial index on NULL: how to index only NULL

IntroductionOn vous a dit qu'il n'était pas possible sous Oracle d'indexer la valeur NULL. J'ai prouvé ici que c'était faux : http://dbaoraclesql.canalblog.com/archives/2018/08/05/36611094.html. Idem pour le fait que Oracle ne gère pas d'index partiel : cette fonctionnalité est disponible en 12c mais uniquement pour des tables partitionnées.  Néanmoins il existe une solution de contournement depuis plusieurs  versions d'Oracle : créer un index sur fonction qui mettra à NULL les valeurs que l'on ne veut pas indexer, et, de la... [Lire la suite]
Posté par David DBA à 10:35 - - Permalien [#]
Tags : ,