|
|
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 saatemuusikavideoJärgmine:C# saab praeguse süsteemiketta tähe, süsteemikataloogi, töölaua jne
|