See artikkel on masintõlke peegelartikkel, palun klõpsake siia, et hüpata algse artikli juurde.

Vaade: 19085|Vastuse: 2

[Allikas] SQL Server loob indeksi

[Kopeeri link]
Postitatud 20.09.2019 09:31:08 | | |
Indekseerimise kontseptsioon

Indeksi loomise eesmärk on parandada andmebaasisüsteemi jõudlust, kiirendada andmete päringute kiirust ja vähendada süsteemi reageerimisaega.
Mis on indeks: Indeks andmebaasis on sarnane raamatu sisukorraga, kus saad kiiresti leida vajaliku info ilma kogu raamatut lugemata.
Andmebaasis kasutab andmebaasi programm indekseid, et kiiresti pärida andmeid tabelis, ilma et peaks kogu tabelit skaneerima.
Raamatu sisukord on sõnade ja leheküljenumbrite nimekiri, milles need asuvad, ning andmebaasi indeks on tabeli väärtuste nimekiri ja kus iga väärtus asub.
Indekseerimise plussid ja miinused: Enamik päringute täitmise koormusest on I/O ning üks peamisi eesmärke indeksite kasutamisel jõudluse parandamiseks on vältida täistabeli skaneerimist, sest täistabeli skaneerimine peab lugema iga tabeli andmelehekülje kettalt ning kui indeks osutab andmeväärtusele, peab päring kettale lugema vaid paar korda.
Seetõttu võib indeksite mõistlik kasutamine kiirendada andmete päringuid. Kuid indeksid ei paranda alati süsteemi jõudlust, indekseeritud tabelid peavad andmebaasis rohkem salvestusruumi võtma ning sama käsk andmete muutmiseks ja kustutamiseks võtab indeksi käivitamiseks ja haldamiseks kauem aega.
Seetõttu peame indeksit mõistlikult kasutama ja seda õigeaegselt uuendama, et eemaldada suboptimaalne indeks.

Indeksite klassifikatsioon

Indeks on sarnane hiina sõnastiku ees olevale sisukorrale ning saad kiiresti leida soovitud sõna vastavalt pinyinile või suurtähele.
UNIKAALNE: Iga rea indeksväärtus on unikaalne (luuakse unikaalne piirang ja süsteem loob automaatselt unikaalse indeksi).
Esmase võtme indeks: Peamine võtmeveerg, mis on määratud tabeli loomisel, loob automaatselt esmase võtmeindeksi ja omab unikaalseid omadusi.
KLASTERDATUD: Klasterdatud indeksid on samaväärsed sõnastiku pinyin-otsinguga, sest klasterdatud indeks salvestab füüsiliselt pidevaid kirjeid, st pinyin a-le peab järgnema b.
MITTEKLASTERDATUD: MITTEKLASTERDATUD indeksid on samaväärsed sõnastiku radikaalide kasutamisega otsinguks, mitteklasterdatud indeksid on loogiliselt pidevad ja füüsiline salvestus ei ole ühtlane.
Klasterdatud indeksil võib olla ainult üks tabel, samas kui mitteklasterdatud indeks võib sisaldada rohkem kui ühte tabelit.

Milliseid välju tuleb indekseerida

1. Tabeli primaar- ja võõrvõtmetel peab olema indeks
2. Tabelitel, kus on üle 300 andme, peaks olema indeks
3. Tabelid, mis on sageli ühendatud teiste tabelitega, tuleks indekseerida ühendatud väljadel
4. Väljad, mis sageli esinevad "Kus" klauslis, eriti suurtes tabelites, tuleks indekseerida
5. Väljad, mida sageli sorteeritakse või grupeeritakse (nt sooritavad GROUP BY või ORDER BY operatsioone), tuleks indekseerida
6. Indeks peaks olema üles ehitatud väga selektiivsetele väljadele
7. Indeks peaks olema ehitatud väikestele väljadele, suurte tekstiväljade või isegi ülipikkade väljade puhul, indekseid ei tohiks ehitada ning kasutada täisarvusid võtmeväärtustena, sest täisarvudel on kiireim ligipääsukiirus
8. Komposiitindeksite loomist tuleb hoolikalt analüüsida; Proovi kaaluda ühe välja indeksite kasutamist
9. Tabelid, mis sageli andmetöötlust teevad, ei tohiks olla liiga palju indekseeritud
10. Kustuta kasutud indeksid, et vältida negatiivset mõju täitmisplaanile

Liiga paljude indeksite puudus

1. Salvestusruum muutub suuremaks ja iga indeks tuleb ruumis hoida
2. Kui on palju mitteklasterdatud indekseid, siis kui klasterdatud indeks muutub, muutuvad kõik mitteklasterdatud indeksid vastavalt
3. Liiga palju indekseid suurendab optimeerimisprotsessis hindamist vajavate kombinatsioonide arvu suurenemiseni, mis pikendab päringu aega
4. Igal indeksil on statistiline info ja mida rohkem indekseid, seda rohkem statistilist infot, mis pikendab päringu aega
5. Uuenda üldkoormust – kui andmed muutuvad ja veerge on palju muutunud, võib see põhjustada mitme indeksi muutumist, mis viib uuendamise, kustutamise ja sisestamise aeglustumiseni








Eelmine:Teismelise tugev saatemuusikavideo
Järgmine:C# saab praeguse süsteemiketta tähe, süsteemikataloogi, töölaua jne
 Üürileandja| Postitatud 27.12.2020 11:56:05 |
LOO INDEKS PersonIndex ON Tabeli nimi (Välja nimi)

DROP INDEX PersonIndex ON tabeli nimi
 Üürileandja| Postitatud 24.02.2021 15:16:27 |
Kui Itsvse tabeli testväljal puudub indeks, lisatakse see

Disclaimer:
Kõik Code Farmer Networki poolt avaldatud tarkvara, programmeerimismaterjalid või artiklid on mõeldud ainult õppimiseks ja uurimistööks; Ülaltoodud sisu ei tohi kasutada ärilistel ega ebaseaduslikel eesmärkidel, vastasel juhul kannavad kasutajad kõik tagajärjed. Selle saidi info pärineb internetist ning autoriõiguste vaidlused ei ole selle saidiga seotud. Ülaltoodud sisu tuleb oma arvutist täielikult kustutada 24 tunni jooksul pärast allalaadimist. Kui sulle programm meeldib, palun toeta originaaltarkvara, osta registreerimist ja saa paremaid ehtsaid teenuseid. Kui esineb rikkumist, palun võtke meiega ühendust e-posti teel.

Mail To:help@itsvse.com