Rāda ziņas ar etiķeti Indeksi. Rādīt visas ziņas
Rāda ziņas ar etiķeti Indeksi. Rādīt visas ziņas

otrdiena, 2013. gada 19. februāris

Unikāli indeksi, ignorējot Null vērtības

Vairākkārt sanācis sastapies ar vajadzību izveidot unikālitātes ierobežojumu ignorējot Null vērtības. Bet ir viena problēma- lai arī Null nav vienāds Null, unikāla indeksa ietvaros visas Null vērtības tiek uzskatītas par vienādām. Ko darīt?

ceturtdiena, 2011. gada 24. februāris

SARG optimizācija

SARG (no angļu val. Search Arguments) ir tā vaicājuma daļa, ar kuras palīdzību tiek filtrēti vaicājuma atgrieztie rezultāti- gan tie, kas ir tabulu sasiešanas On daļā, gan tie, kas ir where daļā. Bieži vien šī vaicājuma daļa arī nosaka, kādi indeksi tiks izmantoti vaicājuma optimizēšanai.

otrdiena, 2011. gada 18. janvāris

CV lai apskatītu dalītos (partitioned) objektus

Izveidoju skriptu, kas izvada visus dalītos (partitioned) datu bāzes objektus- tabulas, skatus un attiecīgos indeksus. Tabula vai materializēts skats var arī nebūt dalīts, bet kāds indekss uz tā vienalga var būt dalīts.

piektdiena, 2011. gada 14. janvāris

Indeksu apkope II- ņem vērā dalītus (partitioned) indeksus

Raksta "Indeksu apkope" beigās tika dots "universāls" indeksu pārbūves skripts. Šajā rakstā šis skripts uzlabots, lai tiktu ņemtas vērā indeksa daļas (partitions), shēmas un specifiskus objektu nosaukumus.

Dalīti (partitioned) indeksi

Šajā rakstā ir vienuviet apvienotas tās atšķirības, kas būtu jāņem vērā gadījumos, kad datu bāzē tiek veidotas dalītās (partitioned) tabulas un indeksi. Norādītas lietas, kas nav pieminētas rakstu sērijā- Indeksi (pamati). Rakstu var uztvert kā turpinājumu rakstam Tabulu horizontālā dalīšana (Partitioned Tables).

trešdiena, 2011. gada 5. janvāris

DMV trūkstošo indeksu iegūšanai

Vēl viens raksts par indeksiem un informāciju, ko par tiem var uzzināt izmantojot DMV (Dynamic Management Views and functions). Šoreiz- par indeksiem, kas potenciāli varētu uzlabot SQL Server ātrdarbību.

pirmdiena, 2010. gada 20. decembris

Tabulas un indeksi (pamati)

Rakstu apvienojums par indeksiem. Aprakstīts, kā dati tiek glabāti SQL Server, datu bāzes tabulas ar indeksu un bez indeksa. Tiek aprakstītas klasterētā un parastā indeksa īpatnības, kā tos izveidot, kā apskatīt to stāvokli un pārliecināties, kā tie tiek izmantoti. Aprakstīts, kā veikt indeksu apkopi.

ceturtdiena, 2010. gada 16. decembris

Indeksu apkope

Indeksu apkope būtu regulāri veicams process un rakstā sniegts pamatojums kāpēc. Īsi aprakstīts varianti indeksu apkopei. Rakstā arī piemērs, kas var tikt izmantots indeksu pārbūvēšanai.
Praksē ir bijuši gadījumu, ka pēc indeksu pārbūves datu bāze sāk strādāt daudz, daudz ātrāk (jā jā, vairumā, protams, tas neko daudz nemaina, tomēr tie pāris gadījumi ir pūļu vērti).

ceturtdiena, 2010. gada 2. decembris

otrdiena, 2010. gada 30. novembris

Kuri indeksi tiek izmantoti?

Veidojot indeksu, vienmēr to mēģina izveidot pēc iespējas labāku, noderīgāku. Bet ne vienmēr tas izdodas. Dodot ieteikumus indeksu izveidei, parasti līdzi nāk teksts "neaizmirstiet visu testēt, testēt un vēlreiz testēt". Ir jau skaisti, tik ne vienmēr veidojot testus iznāk izdarīt pareizus pieņēmumus par reālo vidi. Kādā no turpmākajiem rakstiem būs plašāk apskatīts kā SQL Server "izdomā" vai indeksus izmantot. Tas ļaus izdarīt labākus pieņēmumus par to indeksu nepieciešamību. Šajā rakstā savukārt- kā uzzināt vai un kuri izveidotie indeksi tiek izmantoti? (tātad- fakta konstatēšana)

pirmdiena, 2010. gada 29. novembris

Indeksu fragmentācija

Indeksu fragmentācija nav vislielākā problēma strādājot ar indeksiem. Tomēr atsevišķās situācijās tas var būtiski (atkarībā no situācijas) ietekmēt ātrdarbību. Šajā rakstā aprakstīts kas ir iekšējā un ārējā fragmentācija, dots teorētiskais skaidrojums. Doti ieteikumi kā minimizēt ārējo fragmentāciju (iekšējās fragmentācijas novēršana aprakstīta rakstā- Indeksu apkope).

ceturtdiena, 2010. gada 25. novembris

Informācijas par indeksiem apskatīšana

Aprakstīts kā apskatīt informāciju par indeksiem- divos veidos- (1) ar SSMS grafiskā interfeisa palīdzību un (2) izmantojot DMV (Dynamic Management Views and functions) funkciju sys.dm_db_index_physical_stats. Dots skaidrojums iegūtajiem rezultātiem- lapu 'pilnums', lapu skaits, ierakstu skaits, indeksa dziļums un citi.

otrdiena, 2010. gada 2. novembris

Indeksu izveide

Rakstā aprakstītas indeksu izveides iespējas un īpašības SQL Server 2005, ko var norādīt/kas ir jānorāda. Nav aprakstīti XML indeksi. SQL Server 2008 indeksiem ir iespējams norādīt "Where" daļu, šeit tas netiek aprakstīts.

Piemērs: Indeks ar unikālām vērtībām, IGNORE_DUP_KEY

Piemērā parādīts, kā strādā IGNORE_DUP_KEY unikālam indeksam.

svētdiena, 2010. gada 31. oktobris

Indeksēti (materializētie) skati

Raksta sākuma pavisam īsi teorija par to, kas ir indeksētais skats. Tālāk dots piemērs indeksētā skata izmantošanai, norādot uz dažām, manuprāt būtiskākajām, niansēm, kas jāņem vērā veidojot indeksētu skatu.

trešdiena, 2010. gada 27. oktobris

Indeksi (non-clustered indexes)

Rakstā aprakstīts un ar ilustrācijām parādīts kas ir indeks (non-clustered). Atšķirības starp indeksu, kas veidots uz tabulas bez klusterētā (clustered) indeksa un tabulas ar klusterēto indeksu.

Piemērs: Indeksi, vaicājumu analīze

Rakstā doti 4 piemēri:
* klusterētā indeksa izmantošana, 
* datu nolasīšana pēc vērtības, kas nav klusterētā indeksa atslēga,  
* datu nolasīšana pēc vērtības, kas ir parasta (non-clustered) indeksa atslēga
* ilustrācija- (non-clustered) indekss satur klusterētā indeksa atslēgu

otrdiena, 2010. gada 19. oktobris

Tabulas ar klusterētu (clustered) indeksu

Rakstā aprakstīts un ar ilustrācijām parādīts, kā dati tiek glabāti un meklēti tabulā, kurai ir klusterēts indekss. Aprakstītas indeksu lapas  īpašības.

piektdiena, 2010. gada 8. oktobris

Tabula bez klusterētā (clustered) indeksa

Rakstā aprakstīts un ar ilustrācijām parādīts, kā dati tiek glabāti tabulā, kurai nav indeksu. Vienlaicīgi dziļāk tiek apskatīts kā dati tiek glabāti lapu ietvaros. Apskatīts, kas notiek datu ievietošanas, dzēšanas, mainīšanas gadījumos tabulā, bez klusetētā indeksa (tādu struktūru sauc par "kaudzi"- heap).