Maison >base de données >Oracle >Comment modifier l'index dans Oracle
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éé.
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
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!