30. jaan 2008

MSSQL : sunnime serveri kasutama õiget indeksit

Nonii...mõtlesin, et miks hoida infot endale, kuna ma vist 8 aastat MSSQL peal toimetanud, siis igapäevaseid hinte võin meeleldi jagada.

Viimati tekkis probleem ühe päringuga Feedreader Connect juures, mõtlesin, nii index pihta saanud. Päringud venisid, pöördusin vanade sõprade juurde...

DBCC INDEXDEFRAG
DBCC DBREINDEX

Ei mingit tolku ja siis vaatasin execution plani päring rõõmsalt lasi mööda primary indexit...ja mis lahendus...anna indeks ise ette ja kõik BRO:)))

select * from articles WITH (INDEX = delindx) where deleted=0

Ennem oli probleem selles, et andmeid polnud palju server "näris" läbi, seetõttu ei saanudki aru...mis toimub....

Jälle targem...olen mässanud protseduuridega, mis ilma WTH RECOMPILE määranguta töötavad 1 min....peale seda 20 sek...

Kommentaare ei ole: