Ce este un index în SQL?

Ce este un index în SQL? Puteți explica sau de referință pentru a înțelege în mod clar?

În cazul în care ar trebui să folosesc un index?

Soluția

Un index este folosit pentru a accelera căutarea în baza de date. MySQL au o bună documentare asupra subiectului (care este relevantă și pentru alte servere SQL la fel de bine): http://dev.mysql.com/doc/refman/5.0/en/mysql-indexes.html

Un index poate fi folosit pentru a găsi eficient toate randurile care se potrivesc cu unele coloană din interogare și apoi de mers pe jos printr-numai că subset de masă pentru a găsi potriviri exacte. Dacă tu nu't au indici de pe orice coloană în "UNDE" clauză, " SQL " server trebuie să meargă prin întreaga masă și a verifica fiecare rând pentru a vedea dacă se potrivește, care poate fi o operație lentă pe mese mari.

Indicele poate fi, de asemenea, un "UNIC" index, ceea ce înseamnă că nu poate avea valori duplicate în coloana respectivă, sau o CHEIE PRIMARĂ care, în unele motoare de stocare definește în cazul în care în fișierul bază de date valoarea este memorată.

În MySQL, puteți folosi "EXPLICĂ" în fața ta "SELECTAȚI" declarație pentru a vedea dacă interogarea va face uz de orice index. Acesta este un început bun pentru depanare probleme de performanță. Citeste mai mult aici: http://dev.mysql.com/doc/refman/5.0/en/explain.html

Comentarii (0)

Un cluster de index este ca conținutul de o carte de telefon. Puteți deschide cartea la 'Hilditch, David' și pentru a găsi toate informațiile pentru toate 'Hilditch's, unul lângă celălalt. Aici cheile de la cluster de index sunt (nume, prenume).

Acest lucru face grupate indici de mare pentru a prelua o mulțime de date bazate pe gama de interogări bazate pe când toate datele se află unul lângă celălalt.

De la cluster de index este de fapt legată de modul în care sunt stocate datele, nu este numai una de-i posibil pe masă (deși puteți trișa pentru a simula mai multe cluster indici).

Un non-clustered index este diferită în faptul că puteți avea mai multe de la ei și apoi punctul de la datele din cluster de index. Ai putea, de exemplu, un non-clustered index de la spate de o carte de telefon care este fixat pe (localitatea, adresa)

Imaginați-vă dacă ați avut pentru a căuta prin telefon carte pentru toți oamenii care trăiesc în 'Londra' - cu doar cluster de index ar trebui să caute fiecare element în cartea de telefon de la cheie pe cluster de index este pe (nume, prenume) și, ca rezultat, oamenii care trăiesc în Londra sunt împrăștiate la întâmplare pe tot parcursul index.

Dacă aveți un non-clustered index (oraș), atunci aceste întrebări pot fi efectuate mult mai rapid.

Sper că vă ajută!

Comentarii (0)

O foarte bună analogie este să se gândească la o baza de date index ca un index într-o carte. Dacă aveți o carte în ceea ce privește țările și sunteți în căutarea pentru India, atunci de ce ai răsfoi întreaga carte – care este echivalentă cu o masă plină de scanare în baza de date terminologice – când puteți merge doar la indexul de la sfârșitul cărții, care vă va spune exact de pagini, unde puteți găsi informații cu privire la India. În mod similar, ca o carte de index conține un număr de pagină, o bază de date index conține un pointer la rândul care conține valoarea pe care doriți să căutați în SQL.

Mai Multe Aici

Comentarii (0)

Un index este folosit pentru a accelera performanța de interogări. Ea face acest lucru prin reducerea numărului de date de baze de date pagini care trebuie să fie vizitate/scanate.

În SQL Server, un cluster indicele determină ordinea fizică a datelor într-un tabel. Nu poate fi doar un index grupat pe masă (the cluster de index ESTE masa). Toate celelalte indicii pe o masă sunt denumite non-cluster.

[5]: http://en.wikipedia.org/wiki/Index_(baza de date)

Comentarii (0)

Indici sunt toate despre găsirea de date rapid.

Indici într-o bază de date sunt similare cu indicii pe care le găsiți într-o carte. Dacă o carte are un indice, și vă întreb pentru a găsi un capitol în această carte, puteți găsi rapid că, cu ajutorul de index. Pe de altă parte, dacă cartea nu are un index, va trebui să-și petreacă mai mult timp în căutarea pentru capitolul uitandu-se la fiecare pagină de la începutul până la sfârșitul cărții.

Într-un mod similar, indici într-o bază de date poate ajuta interogări găsi datele de repede. Dacă sunteți nou la indici, următoarele videoclipuri, pot fi foarte utile. De fapt, am învățat multe de la ei.

Index de Bază
Cluster și Non-Cluster Indici
Unic și Non-Unic Indici
Avantaje și dezavantaje ale indicilor

Comentarii (4)

Ei bine, în general, indicele este un B-tree`. Există două tipuri de indici: cluster și de grup.

Cluster index creează un fizic ordinea de rânduri (poate fi numai unul și în cele mai multe cazuri, este, de asemenea, o cheie primară - dacă vă creați cheie primară în tabelul creați cluster de index pe masă, de asemenea,).

De grup indicele este, de asemenea, un arbore binar, dar nu't de a crea un fizic ordinea de rânduri. Deci nodurile frunză de index de grup conține PK (dacă există) sau index rând.

Indici sunt utilizate pentru a crește viteza de căutare. Deoarece complexitatea este O(log N). Indici este foarte mare si interesant subiect. Pot să spun că crearea de indici pe bază de date de mare este un fel de artă, uneori.

Comentarii (2)

INDICII - pentru a găsi cu ușurință date

INDEX UNIC - valorile duplicate nu sunt permise

Sintaxa pentru "INDEX"

CREATE INDEX INDEX_NAME ON TABLE_NAME(COLUMN);

Sintaxa pentru INDEX UNIC

CREATE UNIQUE INDEX INDEX_NAME ON TABLE_NAME(COLUMN);
Comentarii (0)

INDICELE este o performanță de optimizare tehnica care accelerează procesul de recuperare de date. Este un persistentă structură de date care asociat, cu o Masă (sau a Vedea) în scopul de a crește performanța în timpul preluarea datelor de la masa (sau la Vedere).

Index de căutare bazate pe se aplică mai ales atunci când întrebările dumneavoastră includ în cazul în CARE filtrul. În caz contrar, nu.e, o interogare fără UNDE-filtru selectează întreg de date și de proces. Căutarea în toată masa, fără INDEX este numit Masă de scanare.

Veți găsi informații exacte pentru Sql-Indici în clar și de încredere: urmați aceste link-uri:

  1. Pentru cocnept-înțelegerea înțelept: http://dotnetauthorities.blogspot.in/2013/12/Microsoft-SQL-Server-Training-Online-Learning-Classes-INDEX-Overview-and-Optimizations.html
  2. Pentru punerea în aplicare-înțelegerea înțelept: http://dotnetauthorities.blogspot.in/2013/12/Microsoft-SQL-Server-Training-Online-Learning-Classes-INDEX-Creation-Deletetion-Optimizations.html
Comentarii (0)

În primul rând avem nevoie pentru a înțelege modul normal (fără indexare) interogarea se execută. Practic traversa fiecare rânduri, unul câte unul și, când găsește datele se întoarce. Consultați imaginea de mai jos. (Această imagine a fost luată de la acest [video][1].)

Deci, să presupunem că interogarea este de a găsi 50 de ani , va trebui să citiți 49 înregistrează ca o căutare liniară.

Consultați imaginea de mai jos. (Această imagine a fost luată de la acest [video][1])

Când vom aplica indexarea, interogarea va găsi rapid la date, fără a citi fiecare dintre ele doar prin eliminarea jumătate de date în fiecare traversare ca un binar de căutare. Mysql indici sunt stocate ca B-tree în cazul în care toate datele sunt în nod frunză.

Comentarii (0)

Daca're folosind SQL Server, unul dintre cele mai bune resurse este propriile sale Cărți Online care vine cu instala! L's 1 loc I s-ar referi la ORICE SQL Server subiecte conexe.

Daca's practice "cum ar trebui să fac asta?" un fel de întrebări, apoi StackOverflow ar fi un loc mai bun pentru a cere.

De asemenea, nu am't întors pentru o vreme, dar sqlservercentral.com folosit pentru a fi unul de top SQL Server legate de site-uri de acolo.

Comentarii (0)

O [index][1] este folosit pentru mai multe motive diferite. Principalul motiv este de a accelera interogarea astfel încât să puteți obține șiruri sau rânduri mai repede. Un alt motiv este de a defini un primar-cheie sau index unic care va garanta că nici celelalte coloane au aceleași valori.

[1]: http://en.wikipedia.org/wiki/Index_(baza de date)

Comentarii (0)