SharePoint päringute jõudlus 4: Loendi veergude indekseerimine
25.03.2010 | Gunnar
Päringud võivad olulisel määral kiireneda, kui päritavatele väljadele lisada indeksid. Indeksitega on sama lugu, mis tavaliste andmebaaside puhul – üle ei tasu pingutada ja indekseeritavad väljad tuleb valida hoolikalt. Heade valikute korral tõuseb päringute jõudlus mahukatest loenditest märgatavalt. Käesolevas kandes heidame pilgu indeksitele.
Märkus. Juttu on indeksitest, mida kasutatakse vastu loendit tehtavate päringute kiirendamiseks. Need indeksid ei ole seotud otsinguteenustega.
Indekseeritud veergude loomine
SharePoint võimaldab loendi veergudele lisada indekseid loendi sätete alt, nagu näidatud järgneval ekraanpaugul punase kasti sees.
Indekseeritud veergude loeng on lihtne – liigagi lihtne selleks, et inimest mõtlema sundida. Järgnev ekraanpauk näitab ühe arendustega seotud loendi veerge, millest kaks tükki on indekseerimisele märgitud.
Selle vormi kaudu saad määrata indeksid kõikidele veergudele, mida päringutes tihti kasutad. Veelkord – mõtle oma sammud hoolikalt läbi ja loe läbi ka selle kande järgmine punkt. Kui praegu hurraaga peale lendad oma SharePointile, siis võib see lõppeda katastroofiga.
Veergude indeksid andmebaasis
Kes SharePointi andmebaase on uurinud, see peaks teadma, et loendite andmed asuvad kindlates tabelite komplektis. Seda luksust vähemalt SharePoint Services 3.0 ja SharePoint Server 2007 juures pole, et andmebaasis vastaks igale loendile eraldi tabel. Nüüd tekib küsimus, et kuidas on indeksid lahendatud.
Indekseeritud veergude jaoks on kasutusel eraldi tabel, mille nimeks on NameValuePair[_{SQLCollation}]. Sellesse tabelisse sisestatakse kõik indekseeritud välja väärtused. Päringu tegemisel lihtsalt luuakse seos selle tabeliga ning küsitakse välja väärtust hoopis sealt kaudu. Seega veergude indekseerimine on nagu elu korraldamise küsimus – liiga taevalik ega liiga põrgulik pole hea ja kõikse mõnusam on nende kahe vahel ehk maapeal olla.
Põhjalikuma lugemise koos näidetega pakub SharePoint loendite indekseeritud veergude kohta välja dynaTrace blogi postitus SharePoint: List Performance – How list column indices really work under the hood.
