09. januar 2004 - 12:46Der er
7 kommentarer og 1 løsning
Er en stored procedure for hurtig?
Jeg har oprettet en SP som gør følgende:
0. Hvis tabellen "nytindhold" findes, slet den 1. opretter en tabel: "nytindhold" 2. insert into "nytindhold" select id,navn from Tabel1 3. insert into "nytindhold" select id,navn from Tabel2 4. Select * from nytindhold
Mit problem er nu: Jeg ved med sikkerhed at der bliver fyldt indhold ind i "nytindhold" tabellen, men alligevel får jeg intet resultat ud af punkt 4 når jeg afvikler min SP i QueryAna.
Afvikler jeg derimod min SP, efterfulgt af punkt 4. i QueryAna, så får jeg et resultat.
Bliver punkt 4 afviklet for hurtigt i min SP, til at SQL-serveren fatter at der er kommet indhold ind i tabellen, og i så fald, hvordan kan jeg få serveren til at tage en "tænkepause" inden den afvikler punkt 4.??
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
For at undgå recompileringer hver gang du afvikler proceduren ville jeg som det første foretage en sletning af rækkerne i tabellen frem for at nedlægge og oprette tabellen - jeg ved det kan være dyrt hvis der er mange rækker, men har du de rigtige rettigheder kan du jo bruge truncate table. Hvis du er rigtig heldig løser det måske også den resterende del af problemet, men det er kun et gæt ..
Okay, siden i begynder at foreslå GO her og der, så skal det lige siges, at pkt. 2 og 3 - sætningerne bliver genereret som en child SP(dynamisk SP) og efterfølgende afviklet med "Exec Child_SP", så allerede der går der "masser af rid"
Jeg har løst problemet ved at lave "#nytindhold" i stedet. Den er åbenbart hurtig nok ?!?
Synes godt om
Ny brugerNybegynder
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.