Acest articol este un articol oglindă al traducerii automate, vă rugăm să faceți clic aici pentru a sări la articolul original.

Vedere: 19085|Răspunde: 2

[Sursă] SQL Server creează un index

[Copiază linkul]
Postat pe 20.09.2019 09:31:08 | | |
Conceptul de indexare

Scopul stabilirii unui index este de a îmbunătăți performanța sistemului de baze de date, de a accelera viteza de interogare a datelor și de a reduce timpul de răspuns al sistemului.
Ce este un index: Un index dintr-o bază de date este similar cu cuprinsul unei cărți, unde poți găsi rapid informațiile dorite fără să citești întreaga carte.
Într-o bază de date, un program de bază de date folosește indexuri pentru a interoga rapid datele dintr-un tabel fără a fi nevoie să scaneze întregul tabel.
Cuprinsul dintr-o carte este o listă de cuvinte și numerele paginilor în care acestea se află, iar indexul din baza de date este o listă de valori dintr-un tabel și unde este stocată fiecare valoare.
Avantaje și dezavantaje ale indexării: Cea mai mare parte a efortului execuției interogărilor este I/O, iar unul dintre principalele obiective ale utilizării indexurilor pentru îmbunătățirea performanței este evitarea scanării complete a tabelelor, deoarece scanarea completă a tabelelor trebuie să citească fiecare pagină de date a tabelului de pe disc, iar dacă există un index care indică o valoare a datelor, interogarea trebuie să fie citită de câteva ori pe disc.
Prin urmare, utilizarea rezonabilă a indexurilor poate accelera interogarea datelor. Totuși, indexurile nu îmbunătățesc întotdeauna performanța sistemului, tabelele indexate trebuie să ocupe mai mult spațiu de stocare în baza de date, iar aceeași comandă de modificare și ștergere a datelor va dura mai mult să ruleze și să mențină indexul.
Prin urmare, trebuie să folosim indicele în mod rezonabil și să-l actualizăm la timp pentru a elimina indicele suboptim.

Clasificarea indicilor

Indexul este similar cu cuprinsul din fața dicționarului chinezesc și poți localiza rapid cuvântul pe care vrei să-l găsești în funcție de pinyin sau majusculă.
UNICĂ: Valoarea indicelui fiecărui rând este unică (se creează o constrângere unică, iar sistemul va crea automat un indice unic).
Indexul cheilor primare: Coloana cheie primară specificată la crearea tabelului creează automat un index de chei primare și are caracteristici unice.
CLUSTERED: Indexurile clustered sunt echivalente cu folosirea căutării pinyin într-un dicționar, deoarece indexul clustered stochează înregistrări care sunt fizic continue, adică pinyinul a trebuie urmat de b.
NECLUSTERAT: Indicii NECLUSTERAȚI sunt echivalent cu folosirea radicalilor de dicționar pentru căutare, indicii neclusterați sunt logic continui, iar stocarea fizică nu este contiguă.
Un index clusterizat poate avea doar un singur tabel într-un tabel, în timp ce un index neclusterat poate avea mai multe tabele într-un tabel.

Ce câmpuri trebuie indexate

1. Cheile primare și străine ale tabelului trebuie să aibă un index
2. Tabelele cu mai mult de 300 de date ar trebui să aibă un index
3. Tabelele care sunt frecvent conectate la alte tabele ar trebui indexate pe câmpurile conectate
4. Câmpurile care apar adesea în clauza Where, în special cele din tabele mari, ar trebui indexate
5. Câmpurile care sunt frecvent sortate sau grupate (adică efectuează operații GROUP BY sau ORDER BY) ar trebui indexate
6. Indicele ar trebui construit pe câmpuri foarte selective
7. Indexul ar trebui construit pe câmpuri mici, pentru câmpuri de text mari sau chiar câmpuri ultra-lungi, să nu construiască indici și să folosească numerele întregi ca valori cheie, deoarece întregile au cea mai rapidă viteză de acces
8. Stabilirea indicilor compoși trebuie analizată cu atenție; Încearcă să iei în considerare folosirea unor indici cu un singur câmp
9. Tabelele care efectuează frecvent manipularea datelor nu ar trebui indexate prea mult
10. Ștergerea indicilor inutili pentru a evita impactul negativ asupra planului de execuție

Dezavantajul prea multor indici

1. Spațiul de stocare va deveni mai mare, iar fiecare indice va trebui stocat în spațiu
2. Dacă există mulți indici negrupați, odată ce indicele grupat se modifică, atunci toți indicii negrupați se vor schimba corespunzător
3. Prea mulți indici vor duce la o creștere a numărului de combinații care trebuie evaluate în procesul de optimizare al optimizatorului, crescând timpul de interogare
4. Fiecare indice are informații statistice, iar cu cât sunt mai mulți indici, cu atât mai multe informații statistice, ceea ce crește timpul de interogare
5. Overhead de actualizare, odată ce o dată se schimbă și există multe coloane modificate, poate cauza schimbarea mai multor indexuri, ceea ce duce la încetinirea actualizării, ștergerii și inserării








Precedent:Video MV de acompaniament puternic pentru adolescent
Următor:C# primește litera curentă a discului de sistem, directorul de sistem, desktopul etc
 Proprietarul| Postat pe 27.12.2020 11:56:05 |
CREATE INDEX PersonIndex PE Numele tabelului (Nume câmp)

DROP INDEX PersonIndex PE numele tabelului
 Proprietarul| Postat pe 24.02.2021 15:16:27 |
Când câmpul de Test din tabelul Itsvse nu are un index, acesta este adăugat

Disclaimer:
Tot software-ul, materialele de programare sau articolele publicate de Code Farmer Network sunt destinate exclusiv scopurilor de învățare și cercetare; Conținutul de mai sus nu va fi folosit în scopuri comerciale sau ilegale, altfel utilizatorii vor suporta toate consecințele. Informațiile de pe acest site provin de pe Internet, iar disputele privind drepturile de autor nu au legătură cu acest site. Trebuie să ștergi complet conținutul de mai sus de pe calculatorul tău în termen de 24 de ore de la descărcare. Dacă îți place programul, te rugăm să susții software-ul autentic, să cumperi înregistrarea și să primești servicii autentice mai bune. Dacă există vreo încălcare, vă rugăm să ne contactați prin e-mail.

Mail To:help@itsvse.com