Avatar billede dahlke Nybegynder
10. juni 2009 - 09:31 Der er 1 løsning

Forskellig execution plan for samme query

Hej Alle

Jeg har en query der ikke helt vil spille bold - måske er der nogen her der kan gi' et hint:)

SELECT * From View_ProductSearch, FullTextSearch cafts WHERE ownerID = 93 AND PublishFrom <= GETDATE() AND SID = ID AND (([Text] LIKE '% badebold %')) order by PublishFrom DESC

Problemet er at en query der i lang tid har fungeret fint pludselig perfomer ret dårligt. Jeg har været inde og kigge på execution plan og kan sagtens se hvorfor den pludselig er langsom. Ved søgning på en række nye ID'er (f.eks. 93) laver den et "Clustered index scan" på 600.000 rækker hvor den ved kørsel med et ældre ID (f.eks. 13) kun kigger på 4500 rækker. Når jeg kigger på execution planen for en søgning på f.eks. 93 kan jeg se at den i "Clustered index scan" har et "Estimated number of rows" på 4500 rækker men samtidig har "Actual number of rows" på 600.000 rækker.

svartid ved søgning på ownerID = 93 .... 50 sec
svartid ved søgning på ownerID = 13 .... <0 sec

Det skulle ikke være sket nogen ændring i data eller sammenhæng mellem data i DB'en.

Spørgsmål: Hvordan kan execution planen for samme query pludselig være forskellig når data burde være ens?
Avatar billede dahlke Nybegynder
10. juni 2009 - 12:26 #1
svare lige på mit spørgsmål: det var manglende rebuild af index der var skyld i problemet :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester