09. august 2005 - 11:39Der er
10 kommentarer og 1 løsning
Brug af variabler i SP
Jeg har en række lidt heftige SQL-statements, hvor op til 12 tabeller joines. Dertil har jeg tænkt at anvende stored procedures udelukkende af hensyn til performance. Jeg har i den forbindelse lige et par spørgsmål.
Hvis jeg bruger variabler i disse statements, som jeg kalder SP med, vil det så ikke nedsætte hastigheden, fordi SP skal rekompileres hver gang - i modsætning til, hvis det er et statisk SQL-statement?
De pågældende statements, vil have en stor del tilfælles. Forskelle vil typisk bestå i, hvor mange tabeller/kolonner der medtages. Hvordan laves det smartest, så jeg undgår at gentage mig selv hele tiden fra SP til SP? Er løsningen at lave een SP, der vha. inputparametrer sammensætter det korrekte statement - og i så fald hvordan? Er lidt i tvivl...
Ok. Jeg har også lavet lidt test på hastigheden (i mit tilfælde), og de viser, at jeg i forhold til et statement i applikationskoden vinder følgende:
View: 6 gange hurtigere SP: 10 gange hurtigere
Hvis indeksene ikke er i orden, er det faktisk cirka samme tider for de tre.
Har du i øvrigt et forslag til backup af databasen (både tabeller, views, SP's, indekser osv.)? Jeg har ikke rettigheder til at bruge backup-funktionen i Enterprise Manager. Jeg drømte lidt om at lave backup'en som en *.sql-fil.
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.