Indexarea datelor

Fig. 4.3. Exemplu de index

Indexul este de obicei stocat într-un fișier separat sau într-o zonă separată de memorie. Valorile goale ale atributelor (NULL) nu sunt indexate.

Indexarea este utilizată pentru a accelera accesul la înregistrări prin valoarea cheii și nu afectează plasarea datelor în acest tabel. Accelerarea recuperării datelor prin intermediul indexului este asigurată de:







  1. ordonând valorile atributului indexat. Acest lucru ne permite să analizăm o medie de jumătate din indicele într-o căutare liniară;
  2. indexul durează mai puține pagini de memorie decât tabela însăși, astfel încât sistemul își petrece mai puțin timp citind indicele decât citirea tabelului.

Indicii sunt susținuți dinamic, adică după actualizarea tabelului - adăugarea sau ștergerea înregistrărilor, precum și modificarea câmpurilor indexate; - indexul este aliniat la cea mai recentă versiune a datelor din tabel. Actualizarea indexului, desigur, durează ceva timp (uneori foarte mare), astfel încât existența mai multor indici poate încetini funcționarea bazei de date.







Notă. în SGBS real există metode pentru optimizarea reindexării. De exemplu, atunci când se execută o operație batch de actualizare a unei baze de date, actualizarea indexurilor poate să apară o singură dată după efectuarea tuturor modificărilor datelor.

Indicele se numește indexul primar. dacă fiecare valoare a indexului corespunde unei valori cheie unice. Indicele pentru o cheie care permite valorile duplicate este numit secundar. Cele mai multe DBMS-uri construiesc automat un index pe cheia primară și pe coloane unice. Acești indici sunt utilizați pentru a verifica constrângerea de integritate unică.

Pentru fiecare tabel, puteți avea simultan mai mulți indicatori primari și secundari, care se aplică și avantajelor indexării.

Există indicii pentru un câmp și pentru mai multe (compozite). Un index compozit include două sau mai multe coloane ale aceluiași tabel (figura 4.4). Secvența de coloane din intrarea din index este definită atunci când este creat. Din exemplul din Fig. 4.4 arată că datele indicelui sunt comandate de către prima coloană (ID), în cadrul grupului cu același ID de valoare - sortate în a doua coloană (EDATE), iar în cadrul grupului au aceleași valori ID și EDATE - a treia coloană (COD).







Articole similare

Trimiteți-le prietenilor: