Index (baza de date) - acest lucru

Index (baza de date)

În acest termen, există alte utilizări, vezi. Index.

Unele baze de date extind capacitățile de introducerea posibilității de a crea indici pe coloane indexează reprezentări [1] sau indici pe expresii. [2] De exemplu, indicele poate fi creat prin expresia superioară (last_name) și, respectiv, stoca trimiteri la cheia care valoarea câmpului este literă mare last_name. În plus, indicii pot fi declarate ca fiind unic și nu ca un unic. Se pune în aplicare o constrângere index unic pe masă, cu excepția capacitatea de a insera valori duplicate.







arhitectură

Există două tipuri de indici: grupate și non-cluster. Dacă există un tabel de indice de grup rânduri sunt ordonate după valoarea cheii de index. Dacă tabelul nu are un index cluster, masa se numește o grămadă de [3]. Indexul creat pentru un tabel care conține doar indicii la intrările din tabelul de non-cluster. indicele grupată poate fi doar una pentru fiecare masă, dar fiecare tabel poate avea mai multe indicii diferite non-cluster, fiecare dintre care definește propria ordine a înregistrărilor.

Indecșii pot fi implementate în diverse structuri. Cele mai frecvente Evidențiați B * copac. A B + copac. B-arbori și hash.

Secvența de coloane într-un indice compozit

Secvența în care coloanele sunt prezentate în indicele compozit este destul de important. Faptul este că, pentru a obține un set de date la cerere, care afectează doar coloana prima indexate, puteți. Cu toate acestea, în majoritatea DBMS imposibil sau ineficient să se obțină date numai cu privire la al doilea si coloanele indexate (fără limitări prima coloană).

productivitate

indicii sunt, de obicei create pentru performanțe optime de interogări, pe coloanele de masă, care sunt frecvent utilizate în interogări. Pentru un singur tabel poate avea mai multe indicii. Cu toate acestea, creșterea numărului de indici încetinește adăuga, actualiza, șterge rânduri dintr-un tabel, deoarece este necesar să se actualizeze indicii înșiși. În plus, indicii au memorie suplimentară, astfel încât înainte de a crea index, asigurați-vă că câștigurile planificate în performanța de interogare va depăși costul suplimentar al resurselor informatice pe suport de index.

restricţii

Indexuri sunt utile pentru multe aplicații, dar sunt impuse restricții de utilizare a acestora. Luați următoarea interogare SQL:

SELECT first_name de la oameni UNDE last_name = 'Frankenstein'; .

Pentru a efectua o astfel de solicitare, fără o bază de date index este de a verifica last_name câmp în fiecare rând (acest mecanism este cunoscut sub numele de „căutare completă“ sau „tabel de scanare completă“, pot fi afișate în termeni de cuvânt natural). Atunci când se utilizează un indice de bază de date, pur și simplu trece prin B-copac până când găsește intrarea „Frankenstein“. Acest pasaj necesită mult mai puține resurse decât o căutare exhaustivă a tabelului.







Acum, să ia această interogare:

SELECT EMAIL_ADDRESS de la clienți UNDE EMAIL_ADDRESS LIKE '%@yahoo.com'; .

Această solicitare trebuie să găsim toți clienții ale căror e-mail se termină cu @ yahoo.com. Cu toate acestea, chiar și în cazul în care coloana EMAIL_ADDRESS un index, baza de date va utiliza în continuare o căutare exhaustivă a tabelului. Acest lucru se datorează faptului că indicii se bazează pe presupunerea că cuvintele / caracterele merg de la stânga la dreapta. Folosind caracterul wildcard la începutul căutării mele pentru a exclude posibilitatea utilizării bazei de căutare pentru B-copac. Această problemă poate fi rezolvată prin crearea unui revers suplimentar expresie index (EMAIL_ADDRESS) și formarea speciei cerere:

EMAIL_ADDRESS SELECT FROM clienti UNDE inversa (EMAIL_ADDRESS) LIKE inversă ( '% @ yahoo.com'); .

În acest caz, caracterul wildcard va apărea în poziția din dreapta-mai (moc.oohay@%), care nu exclude utilizarea unui indice de pe verso (EMAIL_ADDRESS).

indice de rare

Indexul Rare (în engleză indicele rar.) În baza de date - este un fișier cu o secvență de perechi de chei și indicii. [4] Fiecare cheie în index rare, în contrast cu indicele dens. Acesta este asociat cu un anumit pointer la un bloc în fișierul de date sortat. Ideea de a folosi indicele a venit de la faptul că bazele de date moderne sunt prea masive pentru a încăpea în memoria principală. de obicei, vom împărți datele în blocuri și plasează datele din blocul de memorie de bloc. Cu toate acestea, căutarea în înregistrările de baze de date pot fi consumatoare de timp. Pe de altă parte, indicele de fișiere de index sau un bloc de date este mult mai mic bloc pot încăpea în buffer-ul de memorie principal care crește înregistrarea vitezei de căutare. Din moment ce cheile sunt sortate, puteți utiliza binar de căutare. În indicii grupat cu duplicat chei puncte de index rare la cel mai scăzut cheia în fiecare bloc.

notițe

Vezi ce „Index (baza de date)„în alte dicționare:

baze de date ierarhizate - baza de date model ierarhic este format din obiecte cu indicii de la mama la urmasi, care leagă informații au legătură între ele. baze de date ierarhizate poate fi reprezentat ca un arbore format din obiecte de diferite niveluri. ... ... Wikipedia

Baze de date relationale - baze de date relaționale este o bază de date bazat pe modelul de date relaționale. Cuvântul „relațional“ provine din limba engleză. relația (relația [1]). Pentru a lucra cu baze de date relaționale folosesc baze de date relaționale. Folosind o bază de date relațională a fost ... ... Wikipedia

Trigger (baza de date) - În acest termen, există alte utilizări, a se vedea de declanșare (dezambiguizare) .. Trigger (Eng. Trigger) este un tip special de procedură stocată, care nu cauzează în mod direct utilizatorul, dar a cărui execuție se datorează efectului modificării ... ... Wikipedia

Prezentare (baze de date) - În acest termen, există alte utilizări, a se vedea reprezentarea .. Prezentare generală (eng. Vezi, o consoană nu este un standard numit „opinii“ în argoul programatori adesea folosit ca un împrumut de la „vyuha“ în engleză, „amortizor“) ... ... Wikipedia

Cluster (baze de date) - Cluster (clustere Engl.) În Oracle RDBMS obiect bază de date terminologia utilizată pentru a stoca una sau mai multe tabele, care sunt adesea îmbinate împreună în tabelele de cluster. După crearea unui cluster poate fi creat în tabel. ... ... Wikipedia

Index - (. Lista de indicele latin, indicele de registru) Numărul, litera sau altă combinație de caractere care identifică locația elementului în total sau ce caracterizează starea unui sistem, cum ar fi indicele de activitate, de performanță, de dezvoltare, ... ... Wikipedia