Maison >base de données >Oracle >Qu'est-ce qu'un index dans Oracle
Dans Oracle, un index est une structure de base de données qui permet au serveur de trouver rapidement une ligne dans une table. Il s'agit d'un objet auxiliaire construit sur une ou plusieurs colonnes de la table, dans le but d'accélérer l'accès aux données dans la table. tableau. Les fonctions des index : 1. Accéder rapidement aux données ; 2. Cela peut non seulement améliorer les performances de la base de données, mais également garantir l'unicité des valeurs des colonnes, etc.
L'environnement d'exploitation de ce tutoriel : système Windows 7, version Oracle 11g, ordinateur Dell G3.
Qu'est-ce qu'un indice ?
Dans Oracle, un index est une structure de base de données qui permet au serveur de retrouver rapidement une ligne dans une table.
Un index est un objet auxiliaire construit sur une ou plusieurs colonnes d'un tableau, dans le but d'accélérer l'accès aux données du tableau.
oracle La structure de l'index de stockage est un nombre B* (arbre équilibré), et l'index est composé d'un nœud racine, d'un point de branchement et d'un point feuille. Le bloc d'index de niveau supérieur contient les données d'index de l'index de niveau inférieur. bloc, et le nœud feuille contient les données d'index et la détermination du rowid de la position réelle de la ligne.
La création d'index dans la base de données a principalement les fonctions suivantes :
(1) Accès rapide aux données.
(2) Réduire les opérations d'E/S
(3) Cela peut non seulement améliorer les performances de la base de données, mais également garantir l'unicité des valeurs des colonnes.
(4) Atteindre l'intégrité référentielle entre les tables
(5) Lors de l'utilisation des clauses orderby et groupby pour la récupération de données, l'utilisation d'index peut réduire le temps de tri et de regroupement.
Quand utiliser :
Les champs utilisés comme conditions de requête après où conviennent à l'indexation.
Quand ne pas utiliser :
Il y a de nombreux champs répétés ;
n'est pas un champ utilisé comme condition de requête après où
Il y a moins d'enregistrements dans la table.
Créer un 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]; --表示创建索引时不进行排序,默认不适用,如果数据已经是按照该索引顺序排列的可以使用
Par exemple,
Créer une table de produits :
-- Create table create table TB_GOODS ( goods_id VARCHAR2(64) not null, goods_name VARCHAR2(256) not null, goods_price VARCHAR2(64) not null, status VARCHAR2(1) not null );
Créer un index :
--这里unique可以省略,若省略则索引为非唯一索引 create index UI_tb_goods on tb_goods(goods_name); --若使用unique则为唯一索引 create unique index un_tb_goods on tb_goods(goods_name); --括号中添加两列则为组合索引 create unique index un2_tb_goods on tb_goods(goods_name,status); --括号中添加三列,其顺序没有关系,效果是一样的 create unique index un3_tb_goods on tb_goods(goods_name,goods_price,status);
Une autre fonction de l'index unique est de contrôler que la colonne ne peut pas avoir la même valeur !
Index de requête :
select * from user_indexes where table_name='表名'; select * from user_ind_columns where index_name='索引名';
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!