Example create index organized table
| Fiche express | |
|---|---|
| Type | Script SQL*Plus d'exemple |
| Domaine | Exemple DDL |
| Voir aussi | Example create index · Example create emp dept custom |
Example create index organized table montre comment créer une Index Organized Table (IOT) : une table dont les lignes sont physiquement stockées triées par clé primaire, dans une structure de B-Tree, au lieu d'un tas (heap) classique associé à un index séparé. Utile pour des tables consultées presque exclusivement par leur clé primaire, où l'on veut éviter le coût d'un accès table + index séparé.
Le script propose deux variantes : une IOT créée "à vide", et une IOT peuplée directement à
partir d'une table existante (CREATE TABLE ... AS SELECT, en s'appuyant sur le
schéma emp décrit dans Example create emp dept custom).
Script
-- Index Organized Table (IOT) : lignes stockées triées par clé primaire
/* ------------------------- IOT SIMPLE ------------------------- */
DROP TABLE my_iot
/
CREATE TABLE my_iot (
id NUMBER
, name VARCHAR2(100)
, hiredate DATE
, CONSTRAINT my_iot_pk PRIMARY KEY (id)
)
ORGANIZATION INDEX
OVERFLOW TABLESPACE users
/
/* ------------- IOT CRÉÉE PAR SELECT DEPUIS UNE AUTRE TABLE ------------- */
DROP TABLE my_iot_from_table
/
CREATE TABLE my_iot_from_table (
emp_id
, dept_id
, name
, date_of_birth
, date_of_hire
, monthly_salary
, position
, extension
, office_location
, CONSTRAINT my_iot_from_table_pk PRIMARY KEY (emp_id)
)
ORGANIZATION INDEX
OVERFLOW TABLESPACE users
AS
SELECT * FROM emp
/
La clause OVERFLOW TABLESPACE permet de stocker dans un tablespace séparé les
colonnes qui dépassent la taille de bloc réservée à la partie indexée — utile pour les IOT
contenant des colonnes larges.
Voir aussi
- Example create index — index classiques (heap + B-Tree séparé) pour comparaison
- Example create emp dept custom — table
empsource du second exemple