Lees over Index Organized Tables en hoe ze aangemaakt en gebruikt kunnen worden.
Wanneer u een index op een tabel creëert, word een apart stukje opslagruimte toegewezen om de B-Tree Structuur op te slaan, een ander B-Tree object wordt aangemaakt welke gerelateerd is aan de tabel. In een index organized tabel, worden de gegevens voor de tabel bijgehouden in de bijbehorende index. Niet de rowid van een rij zal het tweede element van de index-entry zijn, maar de daadwerkelijke data wordt opgeslagen in de B-Tree index. Wijzigingen in de tabel, zoals het toevoegen van nieuwe rijen, updaten van rijen of het verwijderen van rijen, heeft alleen als resultaat dat de index geüpdate zal worden. Hoe creëren we een Index Organized Tabel?Je begruikt het CREATE TABLE statement, maar je moet een paar specifiek parameters meegeven: CREATE TABLE emp_dept ( EMP_ID number, DEPT_ID number, NAME varchar2(250), ADDRESS varchar2(250), CITY varchar2(250), STATE char(2), constraint PK_EXP_DEPT primary key (EMP_ID, DEPT_ID) ) ORGANIZATION INDEX TABLESPACE index_tblspace; De ORGANIZATION INDEX clausule zorgt er voor dat de tabel als een IOT wordt aangemerkt. Verschillen tussen IOT en gewone tabellenIOT | gewone tabellen | Rowid is de unieke identifier | Primary key is de unieke Identifier | Physical Rowid | Logical Rowid | Rowid Based Access | Primary Key based access | Unique Constraints toegestaan | Unique Constraints niet toegestaan | Kan opgeslagen worden in een cluster | Kan niet opgeslagen worden in een cluster | Kan zowel LONG als LOB bevatten | Kan LOBs maar geen LONG bevatten | Replication ondersteund | Replication niet ondersteund |
Voordelen van IOT Omdat je de index keys niet apart opslaat is er minder opslagruimte nodig. De optimizer hoeft niet op 2 locaties te zoeken. De data kan in een structuur gevonden worden. Omdat de data organized based is op de primary key, is de performance voor applicaties die op basis van primary key de gegevens ophaalt erg goed. NotieHet is mogelijk om de move table optie gebruiken om een Index Organized Tabel te rebuilden. Je kunt IOT's parallel creëren door een Parallel hint in het select gedeelte van het "create table as select" statement. Je kunt een IOT partitioneren zo lang als de partitie een subset is van de primary key. |