Maison >base de données >Oracle >Comment modifier l'index dans Oracle

Comment modifier l'index dans Oracle

青灯夜游
青灯夜游original
2022-01-25 17:10:1917319parcourir

Comment modifier l'index dans Oracle : 1. Utilisez l'instruction "alter index old index name rename to new index name ;" pour renommer l'index ; 2. Utilisez l'instruction "drop index" pour supprimer l'index d'origine, puis utilisez l'instruction "CREATE INDEX" selon Un index du même nom doit être créé.

Comment modifier l'index dans Oracle

L'environnement d'exploitation de ce tutoriel : système Windows 7, version Oracle 11g, ordinateur Dell G3.

Explication

 1) L'index est l'un des objets de la base de données, utilisé pour accélérer la récupération des données, similaire à l'index d'un livre. L'indexation dans une base de données peut réduire la quantité de données qu'un programme de base de données doit lire lors de l'interrogation des résultats, de la même manière que dans les livres, nous pouvons utiliser les index pour trouver les informations souhaitées sans avoir à lire le livre en entier.

 2) L'index est un objet facultatif construit sur la table ; la clé pour indexer est de remplacer la méthode de récupération par défaut par analyse de table complète par un ensemble de clés d'index triées, améliorant ainsi l'efficacité de la récupération

 3) L'index est logiquement et physiquement, cela n'a rien à voir avec les tables et données associées. Lors de la création ou de la suppression d'un index, cela n'affectera pas la table de base 

 4) Une fois l'index établi, lors de l'exécution d'opérations DML sur la table (telles que l'insertion, la modification) ou suppression) Lors des opérations associées), Oracle gérera automatiquement l'index, et la suppression de l'index n'affectera pas la table

 5) L'index est transparent pour l'utilisateur, qu'il y ait ou non un index sur la table, l'utilisation du L'instruction SQL reste inchangée

 6) Création Oracle Lorsque la clé primaire est utilisée, un index sera automatiquement créé sur cette colonne

Principe de l'index

1. (par exemple, en recherchant nom='souhait'), vous devez rechercher tous les enregistrements, car rien ne garantit que seul un souhait doit être recherché dans son intégralité

2 Si un index est créé sur le nom, Oracle effectuera la recherche. la table entière, organisez la valeur du nom de chaque enregistrement par ordre croissant, puis créez les entrées d'index (nom et rowid) et stockez. Accédez au segment d'index, et lorsque le nom de la requête est souhaité, vous pouvez directement trouver l'endroit correspondant

3. La création d'un index ne signifie pas nécessairement qu'il sera utilisé. Une fois qu'Oracle compte automatiquement les informations de la table, il décide d'utiliser l'index lorsqu'il y a très peu de données dans la table. est déjà très rapide, il n'est pas nécessaire d'utiliser l'index

Utilisation de l'index (créer, modifier, supprimer, afficher)

1 Créer une syntaxe d'index

CREATE [UNIQUE] | [BITMAP] INDEX index_name  --unique表示唯一索引
ON table_name([column1 [ASC|DESC],column2    --bitmap,创建位图索引
[ASC|DESC],…] | [express]) [TABLESPACE tablespace_name]
[PCTFREE n1]                                 --指定索引在数据块中空闲空间
[STORAGE (INITIAL n2)]
[NOLOGGING]                                  --表示创建和重建索引时允许对表做DML操作,默认情况下不应该使用
[NOLINE]
[NOSORT];                                    --表示创建索引时不进行排序,默认不适用,如果数据已经是按照该索引顺序排列的可以使用

2) Modifier l'index

1) Répéter. Index nommé

alter index index_sno rename to bitmap_index;

2) Index de fusion (une fois la table utilisée pendant un certain temps, des fragments apparaîtront dans l'index et l'efficacité de l'index diminuera. Vous pouvez choisir de reconstruire l'index ou de fusionner l'index. L'index de fusion La méthode est meilleure. Elle ne nécessite pas d'espace de stockage supplémentaire et est plus chère)

alter index index_sno coalesce;

3) Reconstruisez l'index

Méthode 1 : Supprimez l'index d'origine et créez un index avec le même nom si nécessaire.

Méthode 2 :

alter index index_sno rebuild;

3. Supprimer l'index

drop index index_sno;

4 Afficher l'index

select index_name,index-type, tablespace_name, uniqueness from all_indexes where table_name ='tablename'; -- eg: 
create index index_sno on student('name'); select * from all_indexes where table_name='student';

Tutoriel recommandé : "Tutoriel Oracle"

.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn