Avatar billede xcover Nybegynder
29. september 2009 - 01:19 Der er 3 kommentarer og
1 løsning

Optimer SQL Streng

Hejsa,

Jeg har følgende SQL streng:
-----------------------------------------
SELECT * FROM vagtreg,vagter WHERE vagtreg.vagter_id = vagter.id AND vagtreg.dato >= '09-01-2009' AND vagtreg.dato <= '09-30-2009' AND vagtreg.bruger_id = '17' OR vagtreg.vagter_id = vagter.id AND vagtreg.dato >= '09-01-2009' AND vagtreg.dato <= '09-30-2009' AND vagtreg.bruger_id = ' 114' OR vagtreg.vagter_id = vagter.id AND vagtreg.dato >= '09-01-2009' AND vagtreg.dato <= '09-30-2009' AND vagtreg.bruger_id = ' 5' OR bruger_id = '0' order by bruger_id , dato , gruppe_id
-----------------------------------------

Den virker helt fint :) I dette eksempel henter jeg kun data ud fra 3 brugere, men når jeg vælger 100 brugere tager det virkelig LANG tid, jeg forstiller mig at det måske er fordi jeg skriver den samme til/fra dato ved HVER eneste brugere.

Har i en smartere måde at lave det udtræk på ?

På forhånd tak
Avatar billede arne_v Ekspert
29. september 2009 - 01:49 #1
prøv:

SELECT *
FROM vagtreg,vagter
WHERE vagtreg.vagter_id = vagter.id AND vagtreg.dato >= '09-01-2009' AND vagtreg.dato <= '09-30-2009' AND vagtreg.bruger_id IN('17','114','5') OR bruger_id = '0'
ORDER BY bruger_id, dato, gruppe_id
Avatar billede arne_v Ekspert
29. september 2009 - 01:49 #2
Generelt med hensyn til performance er indexes meget vigtige!
Avatar billede xcover Nybegynder
29. september 2009 - 02:11 #3
-> arne_v
Tusind tusind takker - nu flyver den derud af :) Det var godt nok noget der hjalp :)

Jeg har allerede index på databasen, og med denne ændring her køre det super godt nu.

Smid svar :)
Avatar billede arne_v Ekspert
29. september 2009 - 02:23 #4
svar
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