webForumDet fria alternativet

Använda lagrade procedurer istället för SQL-sats?

ASP

10 svar · 355 visningar · startad av Lukaspojken

Medlem sedan maj 20011 312 inlägg
Frågan#1

Jag läste nånstans kring ADO-tips att man skulle använda lagrade procedurer så mycket som möjligt. En lagrad procedur är förkompilerad och innehåller en uttänkt körningsplan. Den utförs därför snabbare än en SQL-sats.

Hur skapar man dessa procedurer?

------------------
Alltid lär man sig något nytt varje dag...

Medlem sedan juni 20019 024 inlägg
#2

Proggar i nåt språk (ex Vb) och kompilerar till ex en dll fil.

------------------
Peter D

Medlem sedan dec. 19996 721 inlägg
#3

Proggar i nåt språk (ex Vb) och kompilerar till ex en dll fil.

Nope! Det är inte alls samma sak.

Stored procedures skapar man i den DBMS man använder, mha CREATE PROCEDURE el. likn. Access fixar det inte.

[Redigerat av emission den 20 jul 2001]

Medlem sedan mars 20011 346 inlägg
#4

Pace: Skriver man inte de procedurerna direkt i SQL-Servern?

Medlem sedan juni 20019 024 inlägg
#5

emission: måste ha missuppfattat frågan :) tack för rättelsen!

Skriver man inte de procedurerna direkt i SQL-Servern?

Nej, inte den typen av procedurer jag menar i alla fall. :)

------------------
Peter D

Medlem sedan juni 20019 024 inlägg
#6

dubbelpost :)

[Redigerat av Pace den 20 jul 2001]

Medlem sedan mars 20002 836 inlägg
#7

Access fixar det inte

Jo, faktiskt så gör Access det....men finns inget att tjäna i prestanda på det, läste jag ngnstans ....

Ni vet väl alla att man kan skapa frågor i Access.
MEN, om man vill passa in variabler till frågan så MÅSTE man skapa "frågan"/stored procedurn genom att exekvera en CREATE PROCEDURE i tex ASP koden.

cya,
PatrikB

------------------
*Det tar sig sa han som hade eld i håret*

Medlem sedan dec. 200012 464 inlägg
#8

Det är stor skillnad vad på vad man kan göra med hjälp av en procedur i Access, som bara får innehålla ett sql-statement, jämfört med i PSM (ANSI's defintion av språk för lagrade procedurer).

------------------
essentitia preter non sans multiplicandum

Medlem sedan maj 20011 312 inlägg
#9

Blir det absolut ingen prestanda förbättring...:) inga småsekunder ens, Patrik?

------------------
Alltid lär man sig något nytt varje dag...

Medlem sedan mars 20002 836 inlägg
#10

LarsG:
Jo, jag vet ... men det går att skapa "frågor" och köra dem i Access.

Lukaspojken:
Ärligt talat, så kan ju inte vara riktigt säker eftersom jag inte "benchmarkat" en sådan fråga kontra ett vanlig exekvering, MEN enligt artikeln som jag läste så fanns det ingen prestanda att hämta genom att köra en fråga i Access gentemot att exekvera som vanligt.

cya,
PatrikB

------------------
*Det tar sig sa han som hade eld i håret*

Medlem sedan dec. 19996 721 inlägg
#11

Man tjänar inget, eftersom Access inte skapar någon cachad exekveringsplan, och frågan kompileras inte. Det är snarare troligt att man tappar i prestanda.

------------------
-------------------
Att vara puckad är att dö en smula.
- Skywalker

553 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
119 ms — deklarationer (db)
0 ms — hämta statistik (cache)
133 ms — hämta tråd, inlägg och bilagor (db)
417 ms — ändringar (db)