2009-03-22 11 views
1

La question résume assez bien cela, mais je vais fournir plus de détails.Oracle 9i: Comment déterminer, à l'aide de métadonnées, si un index est en cluster ou non?

Je peux presque supposer que tout index de clé primaire dans une base de données Oracle est en cluster. Mais je ne suis pas quelqu'un à assumer. En outre, un utilisateur peut avoir créé un index en cluster qui n'était pas la clé primaire. Si c'est le cas, j'aimerais vraiment savoir. Donc, dans l'intérêt d'être vraiment, vraiment approfondie, je voudrais rappeler (pas que j'ai oublié ou quoi que ce soit), comment déterminer à partir des métadonnées Oracle, si un index est en cluster ou non.

(Et, par habitude, Google était comme fouiller dans un site d'enfouissement, à la recherche de la vendange Action Comics # 1 que votre maman à travers parce qu'elle pensait qu'il était inutile à l'époque.)

Merci!

Répondre

3

Oracle n'a pas le concept des "index clusterisés" comme le fait SQL Server. En général, les tables Oracle sont des "tas" avec les données stockées dans aucun ordre particulier. Il existe un type de table spécial appelé table INDEX ORGANIZED, qui est (comme son nom l'indique) une table organisée comme un index. Cependant, dans Oracle la plupart des tables pas être organisé par index - alors que je crois comprendre que la plupart des tables dans SQL Server ont un index en cluster.

Ne soyez pas tenté de déclarer toutes vos tables Oracle comme index organisées dans le but d'émuler SQL Server; ce qui est bon pour un SGBD n'est pas forcément bon pour un autre. Je vous suggère de lire le Oracle Database Concepts guide pour apprendre à connaître le fonctionnement d'Oracle.

Les tables organisées en index sont identifiées par IOT_TYPE = 'IOT' dans ALL_TABLES et USER_TABLES.

2

Ce que l'on appelle un index clusterisé dans le monde SQL Server se trouve dans le monde Oracle appelé Table organisée par index. Les métadonnées de table sont disponibles dans les vues système all_tables ou user_tables described here. Ma supposition après l'écrémage de ce lien est que vous pouvez déterminer qu'une table est organisée en index en vérifiant si la colonne IOT_TYPE est non nulle.

Questions connexes