ceturtdiena, 2010. gada 2. decembris

Piemērs: ko iesākt ar to, ko zinām par indeksiem?

Tāds visai īss rakstiņš, kurā pāris idejas- ko darīt ar visu to, ko nu uz šo brīdi zinām par indeksiem.

Tātad, tas ko es izdarīju- saliku kopā rakstus:
* Informācijas par indeksiem apskatīšana
* Kuri indeksi tiek izmantoti?
* pieliku klāt PowerPivot, kas pieminēts Mazliet par to, kas notiek
* vēl šajā kontekstā varētu noderēt raksts- Kad SQL Server tika pārstartēts (SQL Server UpTime)
* visam pievienoju šo to no teorijas- Tabulas ar klusterētu (clustered) indeksu un mazliet prakses (par Fillfactor) no raksta Indeksu izveide.

Beigās uztaisīju nelielu pārskatu, kurā
* Datu rindas- indeksi (diemžēl attēlā ir aizklāti)
* Dziļums- ir patiesībā datums, kad fiksēta informācija (demonstrācijas nolūkiem ieliku "dziļumu")
* Reālais pilnums- norāda cik "pilnas" ir datu lapas indeksā
* Norādītais- ir tas FillFactor, ko DBA norādīja veidojot indeksu- (tātad, vēlamais)
* Starpība- atšķirība no reālā pilnuma un DBA norādītā
* Sum of IUD- indeksa "noslodze" kopš pēdējās servera pārstartēšanas (inserts+updates+deletes)
Ar krāsām un ikonām ir tā:
* Starpības kolonnā ir ķeksīts, ja atšķirība < 10 %, izsaukuma zīmīte, ja atšķirība < 30% un sarkans krusts, ja atšķirība ir lielāka/vienāda ar 30%
* Sum of UID rādas- jo vairāk indeks izmantots (procentuāli no visa kopējā izmantošanas daudzuma) sarkanākā krāsā. Sanāk- biežāk izmantotie indeksi būs sarkanāki par pārējiem.
Vēlreiz par "dziļumu"
Šajā gadījumā ir nedaudz sarežģītāk kā vajag- jo gribējās redzēt vēsturisko attīstību. Principā normālā gadījumā apakšā redzamā informācija var būt par laika momentu, kad ielasīti dati.

Un vēl viens grafiks par vienu konrkētu tabulu un indeksu. Ideja ir tāda, ka es paņēmu piemēru no raksta Informācijas par indeksiem apskatīšana un uztaisīju pāris datu mainīšanas operācijas (pamainīju saturu nvarchar laukos). Pēc katras mainīšanas operācijas uztaisīju datu bāzes stāvokļa saglabāšanu. Pašās beigās "pārbūvēju" indeksu (par to vēl raksta emuārā nav). Ieguvu šādu līknīti (jo lielāka atšķirība starp norādīto un reālo, jo sliktāk):

Kas tālāk? Dažas idejas..
* Pārskats- kuri indeksi netiek izmantoti?
* Pārskats- visvairāk noslogotās tabulas?
* Pārskats- Indeksu "atdeve", salīdzinājums starp datu mainīšanu un datu izgūšanas biežumu..
* Filtrs- piemēram, skatīt tikai indeksus, kas "iznieko" vairāk kā 100 mb vietas..
* ...
Un ja uzkrājam informāciju..
* Pārskats- straujāk augošās tabulas
* Pārskats- apjoma pieaugums/kritums
* Un vispār jebkuras tendences vēlamajā detalizācijas līmenī....

Bet ja slinkums, varbūt kas šāds ir laba alternatīva (neesmu gan mēģinājis)..

Nav komentāru:

Ierakstīt komentāru