Heim  >  Artikel  >  Datenbank  >  Was ist ein Index in Oracle?

Was ist ein Index in Oracle?

青灯夜游
青灯夜游Original
2021-12-24 11:25:235954Durchsuche

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.

Was ist ein Index in Oracle?

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.

So verwenden Sie den Index:

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:

--这里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);
Empfohlenes Tutorial: „

Oracle Tutorial

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn