Avatar billede peng Nybegynder
14. januar 2004 - 19:04 Der er 2 kommentarer og
1 løsning

sql optimering

Hej.

Jeg har en string som er:

---------------------------
function tjek(tele)
tjek = conn.execute("select count(telefonnr) from db where var = 4 and telefonnr = '"&telefonnr&"' and adddate >= dateadd(d, -30, getdate())")(0)
end function

set sql = "select * from db where var=1 og var2=2"
do until rs.eof
if tjek(rs("telefonnr")) = 0 then
response.write(rs("navn"))
end if
rs.movenext
loop
-----------------------

koden gøre sådan set at man kan lister alle op som har var=1. Men dem der har været tilmeldt før og derfor fik opdateret var=4 skal ikke igen optræde selv om var igen = 1.

Ovenstående koden virker fint, desværre ikke performace mæssigt tilfredsstillende.

Er der en der har en idé til hvordan de 2 linje evt. kan kombineres. Scriptet kører på ms sql 2000

Mvh
Peng
Avatar billede eagleeye Praktikant
14. januar 2004 - 19:38 #1
Jeg ved ikke om den er hurtigere men du kan da prøve med IN sådan den kun trækker de gyldige navne ud.:

sql = "select * from db where (var=1 and var2=2) AND telefonnr NOT IN (select telefonnr from db where var = 4 and adddate >= dateadd(d, -30, getdate()))"
Avatar billede peng Nybegynder
14. januar 2004 - 19:48 #2
takker, det virker fintmed subselect, fandt faktisk også ud af det i mellemtiden.
Det køre i hvert fald 5 gange hurtigere.

Du får dine point
Avatar billede eagleeye Praktikant
14. januar 2004 - 19:55 #3
Ok et svar fra mig så ;)
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
Kurser inden for grundlæggende programmering

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