|
|
Julkaistu 20.9.2019 9.31.08
|
|
|

Indeksoinnin käsite
Indeksin perustamisen tarkoituksena on parantaa tietokantajärjestelmän suorituskykyä, nopeuttaa datakyselyjen nopeutta ja lyhentää järjestelmän vasteaikaa. Mikä on indeksi: Tietokannan hakemisto on samanlainen kuin kirjan sisällysluettelo, jossa voit nopeasti löytää haluamasi tiedon lukematta koko kirjaa. Tietokannassa tietokantaohjelma käyttää indeksejä nopeaan kyselyyn taulussa ilman, että koko taulua tarvitsee skannata. Kirjan sisällysluettelo on lista sanoista ja sivunumeroista, joissa ne sijaitsevat, ja tietokannan indeksi on lista taulukon arvoista ja siitä, missä kukin arvo säilytetään. Indeksoinnin hyvät ja huonot puolet: Suurin osa kyselyn suorituksen ylikuormituksesta on I/O:ta, ja yksi indeksien käytön päätavoitteista suorituskyvyn parantamiseksi on välttää täydellinen taulukon skannaus, koska täydellisen taulukon skannauksen täytyy lukea jokainen datasivu levyltä, ja jos indeksi osoittaa datan arvoa, kyselyn tarvitsee lukea levylle vain muutaman kerran. Siksi indeksien järkevä käyttö voi nopeuttaa datakyselyä. Indeksit eivät kuitenkaan aina paranna järjestelmän suorituskykyä, indeksoidut taulut tarvitsevat enemmän tallennustilaa tietokannassa, ja sama käsky tietojen muokkaamiseksi ja poistamiseksi kestää kauemmin indeksin suorittaminen ja ylläpito. Siksi meidän on käytettävä indeksiä järkevästi ja päivitettävä se ajoissa, jotta poistetaan suboptimaalinen indeksi.
Indeksien luokittelu
Hakemisto muistuttaa kiinalaisen sanakirjan sisäluetteloa, ja löydät nopeasti haluamasi sanan pinyinin tai ison kirjaimen mukaan. YKSILÖLLINEN: Jokaisen rivin indeksiarvo on yksikäsitteinen (luodaan ainutlaatuinen rajoite, ja järjestelmä luo automaattisesti yksilöllisen indeksin). Ensisijainen avainindeksi: Taulun luomisen yhteydessä määritetty ensisijainen avainsarake luo automaattisesti ensisijaisen avainindeksin ja sillä on ainutlaatuisia ominaisuuksia. KLUSTEROITU: Klusteroidut indeksit vastaavat sanakirjan pinyin-hakua, koska klusteroitu indeksi tallentaa fyysisesti jatkuvia tietueita, eli pinyin a:n jälkeen täytyy olla b. EI-KLUSTEROITU: EI-klusteroidut indeksit vastaavat sanakirjaradikaalien käyttöä hakuun, klusteroitumattomat indeksit ovat loogisesti jatkuvia ja fyysinen tallennus ei ole yhtenäistä. Klusteroidussa indeksissä voi olla vain yksi taulu, kun taas ei-klusteroidussa indeksissä voi olla useampi kuin yksi taulu.
Mitkä kentät täytyy indeksoida
1. Taulukon ensisijaisilla ja vierailla avaimilla on oltava indeksi 2. Taulukoilla, joissa on yli 300 dataa, tulisi olla indeksi 3. Taulukot, jotka ovat usein yhteydessä toisiin taulukoihin, tulisi indeksoida yhdistetyillä kentillä 4. Kentät, jotka usein esiintyvät Where-lauseessa, erityisesti suurissa taulukoissa, tulisi indeksoida 5. Kentät, jotka lajitellaan tai ryhmitellään usein (esim. suorittavat GROUP BY tai ORDER BY -operaatioita), tulisi indeksoida 6. Indeksi tulisi perustua erittäin valikoiviin kenttiin 7. Indeksi tulisi rakentaa pienille kentille, suurille tekstikentille tai jopa ultrapitkille kentille, ei rakenneta indeksejä ja käyttää kokonaislukuja avainarvoina mahdollisimman paljon, koska kokonaisluvuilla on nopein pääsynopeus 8. Yhdistelmäindeksien perustamista on analysoitava huolellisesti; Kokeile käyttää yksikenttäindeksejä sen sijaan 9. Taulukoita, jotka käsittelevät datan käsittelyä usein, ei tulisi indeksoida liikaa 10. Poista turhat indeksit, jotta toteutussuunnitelmaan ei kohdistu negatiivisia vaikutuksia
Liian monen indeksin haittapuoli
1. Tallennustila kasvaa, ja jokainen indeksi täytyy tallentaa tilaan 2. Jos on paljon ei-klusteroituja indeksejä, kun klusteroitu indeksi muuttuu, kaikki ei-klusteroidut indeksit muuttuvat sen mukaisesti 3. Liian monet indeksit lisäävät optimointiprosessissa arvioitavien yhdistelmien määrää, mikä lisää kyselyaikaa 4. Jokaisella indeksillä on tilastotietoa, ja mitä enemmän indeksejä, sitä enemmän tilastollista tietoa, mikä pidentää kyselyaikaa 5. Päivitä ylimääräiset kulut, kun data muuttuu ja sarakkeita muutetaan paljon, se voi aiheuttaa useiden indeksien muutoksia, mikä hidastaa päivitystä, poistoa ja lisäystä
|
Edellinen:Teini-ikäisen vahva säestysmusiikkivideoSeuraava:C# saa nykyisen järjestelmälevyn kirjaimen, järjestelmähakemiston, työpöydän jne
|