Avatar billede hf Nybegynder
30. maj 2005 - 22:43 Der er 2 kommentarer og
1 løsning

Performance med stored procedures

Er der forskel på den performance gevinst man får med forskellige former for stored procedures?

Den execution plan der beregnes for en SP er vel være afhængig af f.eks. om der kræves parametre som input eller ej?

Jeg forestiller mig, at f.eks. denne SP:
SELECT navn FROM mennesker WHERE alder = 20
- får en større gevinst ved at køre som SP i forhold til ikke at køre som SP, end denne:
SELECT navn FROM mennesker WHERE alder = @intAlder

- fordi executionplanen i første tilfælde kan beregnes helt præcist.

Men jeg ved ikke, om jeg har ret.

Jeg regner med, at der altid er en gevinst ved at køre en forspørgsel som SP, men i nogle tilfælde må gevinsten være større end i andre - eller?

Er der nogen der har links til artikler om emnet?
Avatar billede dr_chaos Nybegynder
31. maj 2005 - 13:01 #1
Det jeg har fundet er at hvis du ønsker at bruge parametre i en SP så kan det bedst betale sig hvis du benytter alle parametre.
Dvs at du ikke sender tomme værdier med parametrene.
Du kan evt selv kigge på denne artikel:
www.sql-server-performance.com/stored_procedures.asp+performance+stored+procedures+parameters&hl=da" target="_blank">http://64.233.183.104/search?q=cache:leUpZlYvME8J:www.sql-server-performance.com/stored_procedures.asp+performance+stored+procedures+parameters&hl=da
Avatar billede radagast7 Nybegynder
04. juni 2005 - 12:13 #2
Det forholder sig omvendt, men udelukkende pga. genbrug af query planen.

I tilfælde et (alder = 20), er det ligegyldigt. Planen vil blive genereret første gang, og genbrugt ved efterfølgenden forespørgsler.

Tilfælde to: der er ret stor forskel på at køre dette som sp eller ej, og det grunder i forskellen på variable og parametre. I en SP, vil det være en parameter, og planen vil blive optimeret efter den værdi du benytter, når planen skal laves (dvs. første kald). Som adhoc query, er det en variabel, og optimizeren vil ikke antage noget omkring værdien, og derfor generere en generel plan, der kan bruges for alle værdier.
Det kan give forskellige planer, hvis distributionen er meget skæv.
Avatar billede hf Nybegynder
28. juli 2005 - 14:37 #3
Tak for input
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