In Oracle ist ein Index eine Datenbankstruktur, die es dem Server ermöglicht, schnell eine Zeile in einer Tabelle zu finden. Es handelt sich um ein Hilfsobjekt, das auf einer oder mehreren Spalten der Tabelle aufgebaut ist, mit dem Zweck, den Zugriff auf Daten in der Tabelle zu beschleunigen Tisch. Die Funktionen von Indizes: 1. Schneller Zugriff auf Daten; 2. Es kann nicht nur die Datenbankleistung verbessern, sondern auch die Eindeutigkeit von Spaltenwerten usw. sicherstellen.
Die Betriebsumgebung dieses Tutorials: Windows 7-System, Oracle 11g-Version, Dell G3-Computer.
Was ist ein Index?
In Oracle ist ein Index eine Datenbankstruktur, die es dem Server ermöglicht, schnell eine Zeile in einer Tabelle zu finden.
Ein Index ist ein Hilfsobjekt, das auf einer oder mehreren Spalten einer Tabelle aufgebaut ist und den Zweck hat, den Zugriff auf Daten in der Tabelle zu beschleunigen.
oracle Die Struktur des Speicherindex ist eine B*-Nummer (ausgeglichener Baum), und der Index besteht aus Wurzelknoten, Verzweigungspunkt und Blattpunkt. Der Indexblock der oberen Ebene enthält die Indexdaten des Index der unteren Ebene Block, und der Blattknoten enthält die Indexdaten und bestimmt die Zeilen-ID der tatsächlichen Position der Zeile.
Das Erstellen von Indizes in der Datenbank hat hauptsächlich folgende Funktionen:
(1) Schneller Zugriff auf Daten.
(2) Reduzieren Sie E/A-Vorgänge.
(3) Es kann nicht nur die Datenbankleistung verbessern, sondern auch die Eindeutigkeit der Spaltenwerte sicherstellen.
(4) Erzielen Sie referenzielle Integrität zwischen Tabellen
(5) Bei Verwendung von Orderby- und Groupby-Klauseln zum Datenabruf kann die Verwendung von Indizes die Zeit für das Sortieren und Gruppieren verkürzen.
Wann zu verwenden ist:
Die Felder, die als Abfragebedingungen nach „wo“ verwendet werden, sind für die Indizierung geeignet.
Wann nicht verwendet werden sollte:
Es gibt viele wiederholte Felder;
ist kein Feld, das als Abfragebedingung verwendet wird;
Es gibt weniger Datensätze in der Tabelle.
Index erstellen:
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]; --表示创建索引时不进行排序,默认不适用,如果数据已经是按照该索引顺序排列的可以使用
Zum Beispiel:
Produkttabelle erstellen:
-- 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 );
Eine weitere Funktion des eindeutigen Index besteht darin, zu steuern, was die Spalte nicht kann habe der gleiche Wert!
Abfrageindex:Das obige ist der detaillierte Inhalt vonWas ist ein Index in Oracle?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!--这里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);