Indices multidimensionnels dans les bases de données


10

Quelles bases de données utilisent de vrais indices multidimensionnels? Oracle utilise-t-il jamais plusieurs indices pour obtenir des données à partir de tables, ou prendra-t-il toujours celui qui semble avoir la plus grande sélectivité? Que diriez-vous d'autres dbms?

Réponses:


9

Oracle a un type d'index appelé Index Bitmap qu'il décrit comme ...

Un index de base de données dans lequel la base de données stocke un bitmap pour chaque clé d'index au lieu d'une liste de rowids.

Si une table a un index bitmap ou si un indice est utilisé, elle peut utiliser un plan d'accès bitmap sur les index B-tree réguliers . Les index bitmap peuvent être joints, unis et intersectés.

Il existe une excellente explication sur use-the-index-luke.com où il inclut les implémentations suivantes de la combinaison de plusieurs index B-Tree:

DB2: DB2 prend en charge plusieurs accès aux index sur LUW 9r7 (à l'aide d'un bitmap dynamique) et sur zOS v10 .

MySQL: MySQL a une optimisation de fusion d'index à partir de la version 5.0.

Oracle La base de données Oracle utilise les CONVERSIONS BITMAP pour combiner plusieurs index à la volée (introduite avec 9i).

PostgreSQL PostgreSQL utilise des bitmaps pour combiner plusieurs index depuis la version 8.1.

SQL Server SQL Server peut utiliser plusieurs index ("Index Intersect") à partir de V7.0 à l'aide d'un algorithme de hachage.

Voir également cette question StackOverflow dans laquelle la première réponse indique que SQL Server fait quelque chose de similaire aux index bitmap en utilisant l'intersection d'index.

L'indexation bitmap efficace et flexible pour les requêtes de similarité complexes est la référence la plus proche que j'ai trouvée associant des index bitmap au mot multidimensionnel. Multidimensionnel semble être davantage un moyen d'utiliser des index que leur attribut.



5

Les index bitmap Oracle sont peut-être ce que vous recherchez. Types d'index Oracle .

Je pense qu'ils permettent l'union et l'intersection. Mais j'avoue que je ne les connais pas.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.