Home - Rasfoiesc.com
Educatie Sanatate Inginerie Business Familie Hobby Legal
Doar rabdarea si perseverenta in invatare aduce rezultate bune.stiinta, numere naturale, teoreme, multimi, calcule, ecuatii, sisteme




Biologie Chimie Didactica Fizica Geografie Informatica
Istorie Literatura Matematica Psihologie

Sql


Index » educatie » » informatica » Sql
» Definirea unui tabel


Definirea unui index


Definirea unui index

Pentru a realiza un acces rapid la informatii au fost introdusi indecsi. Indecsii sunt independenti fizic si logic de date. Aceasta inseamna ca ei pot fi creati sau stersi in orice moment si nu au efect asupra tabelelor de baza sau asupra altor indecsi. Indexul contine valorile coloanelor indexate si adresele inregistrarilor corespunzatoare acestor coloane, permitand un acces rapid. Un index poate sa se refere la mai multe coloane ale aceluiasi tabel in acest caz se numeste index compus. Cand se sterge o tabela se vor sterge si indecsi corespunzatori ei. Cazurile in care se recomanda crearea unui index sunt:

-        Coloana este utilizata frecvent intr-o clauza WHERE sau intr-o conditie de join.

-        Coloana contine un interval mare de valori.

-        Coloana contine un numar mare de valori NULL.

-        Doua sau mai multe coloane sunt frecvent utilizate impreuna intr-o clauza WHERE sau intr-o conditie de join.

-        Tabela contine multe inregistrari si cele mai multe interogari indeparteaza mai putin de 2-4% din inregistrari.



Nu se recomanda crearea unui index in urmatoarele cazuri:

-        Tabela contine un numar mic de inregistrari.

-        Coloanele tabelei nu sunt frecvent utilizate intr-o conditie de interogare.

-        Cele mai multe interogari indeparteaza mai mult de 2-4% din inregistrari.

-        Tabela este frecvent modificata.

Doua tipuri de indecsi pot fi creati. Un tip este index unic si este creat automat la definirea unei constrangeri de PRIMARY KEY sau UNIQUE key intr-o tabela.

Cel de-al doilea tip de index nu este index unic si este creat manual pentru a mari viteza si timpul de acces la inregistrarile unei tabele.

Crearea unui index pe una sau mai multe coloane ale unei tabele se realizeaza cu comanda CREATE INDEX, care are sintaxa:

CREATE INDEX index

ON table (column[, column]…);

·     Crearea unui index pe coloana ename in tabela emp se va realiza prin urmatoarea secventa:

CREATE INDEX        emp_ename_idx

ON                              emp(ename);

Stergerea unui index din dictionarul datelor se va realiya folosind comanda DROP INDEX, care are sintaxa:

DROP INDEX index;

Nu putem modifica un index. Pentru a modifica un index el trebuie sters si recreat din nou. Stergerea unui index se poate realiza numai de cel care a creat indexul (proprietarul) sau cel care are drepul (privilegiul) de DROP ANY INDEX.

·     Stergerea indexului emp_ename_idx creat anterior se va realiza prin urmatoarea secventa:

DROP INDEX emp_ename_idx;

Indecsi sunt salvati in tabela view USER_INDEXES din dictionarul datelor. Putem deasemenea verifica coloanele invocate intr-un index prin interogarea tabelei view USER_IND_COLUMNS.





Politica de confidentialitate





Copyright © 2024 - Toate drepturile rezervate