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?
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
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).
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
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.
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
* 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).
Abonēt:
Ziņas (Atom)