Oracle
 sql >> Base de données >  >> RDS >> Oracle

Index global non partitionné dans Oracle

Il n'existe pas d'"index local non partitionné". Il semble probable qu'il s'agisse d'un bogue de documentation. Je pense que ce qu'ils voulaient dire était

Alors oui, la syntaxe citée dans le livre de Tom Kyte est légale.

Par défaut, les index GLOBAL ne sont pas partitionnés. Autrement dit, il existe un index pour toutes les partitions de la table. La raison principale pour laquelle nous pourrions vouloir faire cela est d'appliquer une contrainte unique sur l'ensemble de la table. En pratique, il est rare d'avoir besoin de le faire :le partitionnement est généralement limité aux entrepôts de données, où l'application des contraintes est généralement plus laxiste, car DML est plus verrouillé.

La documentation à laquelle vous avez lié montre comment créer des index partitionnés GLOBAL. Il s'agit d'une construction hybride qui nous permet de construire des index avec un schéma de partitionnement différent de celui utilisé pour partitionner les données. Pour être honnête, je n'ai jamais rencontré cela sur aucun site où j'ai travaillé avec le partitionnement. Cependant, @matthewmcpeak a suggéré un scénario où cela pourrait être utile. J'inclus donc son commentaire dans cette réponse, pour le bénéfice des futurs Seekers.