09. april 2004 - 11:26Der er
9 kommentarer og 1 løsning
Kan denne forespørgsel forbedres!
Er der nogen der ved om nedenstående kode/forespørgsel kan forbedres/optimeres så den bliver hurtigere eller mere effektiv?
<% set orrs = openoracle("select ordrenummer,ordremodtager,ordrefase,leveringsDato,ordretype from ordrekart where (ordretype = '2' or ordretype = '1') and ordremodtager = '" & UCASE(request.form("user")) & "' and ordrefase = '4' and leveringsdato <= '"& tid &"' and leveringsdato >= '"& tid2 &"' and dataset = 'DAT' order by leveringsdato ") %>
<% while not orrs.eof %> <% set ordrepost = openoracle("select ordrenummer,varenummer from ordrepost where ordrenummer = '" & orrs("ordrenummer") & "' and dataset = 'DAT'") %>
nej egentlig ikke. det er nogle store databaser den henter fra. Tænkte bare på om der var nogle eksperter herinde der kunne se at den kunne gøres endnu bedre...
Måske vil du få en marginal forbedring, hvis du undlader de fleste <%..%> Der behøver ikke at være <%...%> omkring hver linie. Brug response.write funktionen: response.write("<tr><td> <font color="#FF0000"><% = " - " & lagerkart("varenavn") %></font></td></tr>")
i stedet for at skifte mellem VBscript og html-kode.
ok. hvad er det så man bruger outer join og inner join til? Var det noget man kunne bruge i denne sammenhæng eller er den så optimal som den kan blive?
Indtil videre kan du optimere den således, ja du kan nok godt bruge JOIN i det første loop.
<% set orrs = openoracle("select ordrenummer,ordremodtager,ordrefase,leveringsDato,ordretype from ordrekart where (ordretype = '2' or ordretype = '1') and ordremodtager = '" & UCASE(request.form("user")) & "' and ordrefase = '4' and leveringsdato <= '"& tid &"' and leveringsdato >= '"& tid2 &"' and dataset = 'DAT' order by leveringsdato ") while not orrs.eof
set ordrepost = openoracle("select ordrenummer,varenummer from ordrepost where ordrenummer = '" & orrs("ordrenummer") & "' and dataset = 'DAT'")
Det er svært at sige, som sådan udfører et JOIN det samme arbejde som dit loop. I dit tilfælde kan det være en fordel når din database er så stor, så det handler om at begrænse kaldene til databasen. Dog skal man også lige tænke på hvor mange rækker der skal med i et JOIN, for det kan også nemt blive en ulempe.
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.