Avatar billede hyperactive Nybegynder
12. november 2002 - 16:54 Der er 2 kommentarer og
1 løsning

Ekstremt langsom kode.....

Jeg har denne kode, som er ekstreeeemt laaaangsom.....

SQL1 = "SELECT * FROM leverandoerer WHERE id = " & Request("leverandoer")
        Set RS1 = DBConnection.Execute(SQL1)
    Response.Write "<div id='Content' style='position:absolute; left:95px; top:40px; width:470px; height:800px; z-index:2;' class='broedtekst'>"
            Response.Write "<form name='bestilling' action='content.asp' method='post'>"
            Response.Write "<table border='0' cellpadding='3' cellspacing='1' width='520' align='left' >"
                Response.Write "<tr>"
                    Response.Write "<td class='formular' width='520' valign='top' colspan='5'>"
                        Response.Write "<input type='hidden' name='valg' value='lagerkartotek'>"
                        Response.Write "<input type='hidden' name='funktion' value='bestil'>"
                        Response.Write "<input type='hidden' name='leverandoer' value='" & Request("leverandoer") & "'>"
                        Response.Write "<input type='hidden' name='mode' value='gem'>"
                        Response.Write "<img src='grafik/menuknap_hoejre.gif' width='9' height='9'>&nbsp;<img src='grafik/menuknap_hoejre.gif' width='9' height='9'>&nbsp;<img src='grafik/menuknap_hoejre.gif' width='9' height='9'>&nbsp;&nbsp;<b>LAGERKARTOTEK - VAREBESTILLING"
                    Response.Write "</td>"
                Response.Write "</tr>"
                Response.Write "<tr>"
                    Response.Write "<td class='formular' width='80' valign='top'>"
                        Response.Write "Leverandør:"
                    Response.Write "</td>"
                    Response.Write "<td class='formular' width='420' colspan='4'>"
                        Response.Write RS1("leverandoer")
                Response.Write "</td>"
            Response.Write "</tr>"
                        Response.Write "<tr>"
                    Response.Write "<td class='formular' width='80' valign='top'>"
                        Response.Write "<b>Varenr.</b>"
                    Response.Write "</td>"
                    Response.Write "<td class='formular' width='220' valign='top'>"
                        Response.Write "<b>Betegnelse</b>"
                    Response.Write "</td>"
                    Response.Write "<td class='formular' width='80' align='center' valign='top'>"
                        Response.Write "<b>Lagerstatus</b>"
                    Response.Write "</td>"
                    Response.Write "<td class='formular' width='80' align='center' valign='top'>"
                        Response.Write "<b>Forslag</b>"
                    Response.Write "</td>"
                    Response.Write "<td class='formular' width='60' align='center' valign='top'>"
                        Response.Write "<b>Bestil</b>"
                    Response.Write "</td>"
                Response.Write "</tr>"
                SQL2 = "SELECT * FROM varer WHERE leverandoer=" & Request("leverandoer") & " ORDER BY varenr ASC;"
                Set RS2 = DBConnection.Execute(SQL2)
               
                While Not RS2.EOF
               
                    SQL3 = "SELECT * FROM varianter WHERE varenr='" & RS2("varenr") & "' AND lagerstatus-reserveret < minlager"
                    Set RS3 = DBConnection.Execute(SQL3)
                   
                    While Not RS3.EOF
                        Response.Write "<tr>"
                            Response.Write "<td class='formular' width='80' valign='top'>"
                                Response.Write RS3("varenr")
                                Response.Write "<input type='hidden' name='id' value='" & RS3("id") &"'>"
                                Response.Write "<input type='hidden' name='varenr" & RS3("id") & "' value='" & RS3("id") &"'>"
                           
                            Response.Write "</td>"
                            Response.Write "<td class='formular' width='220' valign='top'>"
                                SQL4 = "SELECT * FROM farver WHERE id=" & RS3("farve")
                                Set RS4=DBConnection.Execute(SQL4)
                                Response.Write RS2("betegnelse") & ", " & RS4("farve") & ", " & RS3("stoerrelse")
                            Response.Write "</td>"
                            Response.Write "<td class='smalltext' width='80' align='center' valign='top'>"
                                Response.Write "<table>"
                                    Response.Write "<tr>"
                                        Response.Write "<td class='smalltext' width='60' align='left' valign='top'>"   
                                        Response.Write "Lager:<br>Reserveret:<br>I ordre:"
                                        Response.Write "</td>"
                                        Response.Write "<td class='smalltext' width='20' align='right' valign='top'>"   
                                        Response.Write RS3("lagerstatus") & "<br>" & RS3("reserveret") & "<br>2"
                                        Response.Write "</td>"
                                    Response.Write "</tr>"
                                Response.Write "</table>"
                            Response.Write "</td>"
                            Response.Write "<td class='formular' width='80' align='center' valign='top'>"
                                Response.Write "<input type='text' name='antal" & RS3("id") & "' value='" & RS3("minlager")-RS3("lagerstatus")+RS3("reserveret") & "' style='background-color:#ffffff; font-size: 9; color: #666666; font-family: verdana, helvetica, arial; width: 20; text-align: right'>"
                            Response.Write "</td>"
                            Response.Write "<td class='formular' width='60' align='center' valign='top'>"
                            Response.Write "<Input type='checkbox' name='bestil" & RS3("id") & "' value='1' checked >"
                            Response.Write "</td>"
                        Response.Write "</tr>"
                       
                        RS3.MoveNext
                    Wend
                    RS2.MoveNext
                Wend
            Response.Write "<tr>"       
                Response.Write "<td class='formular' width='520' valign='top' colspan='5'>"
                    Response.Write "<div align='right'><input type='submit' value=' Send ' style='background-color:#cccccc; font-size: 9; color: #666666'>&nbsp;"
                Response.Write "</td>"
            Response.Write "</tr>"
        Response.Write "</table>"   
        Response.Write "</form>"   
        RS1.Close
        RS2.Close
        RS3.Close
        Set RS1 = Nothing
        Set RS2 = Nothing
        Set RS3 = Nothing
    End If
End Select
DBConnection.Close
Set DBConnection = Nothing

Hvordan kan jeg optimere koden, så den bliver hurtigere.... Kan jeg evt. klare mig med færre kald til databasen.... Har på fornemmelsen, at det er dem, der er skyld i den elendige hastighed.
Avatar billede taager-kongen Nybegynder
12. november 2002 - 17:04 #1
droppe response.write og skrive det i html:

response.write "et eller adndet..."
så luk koden %>
html
<%
kode igen.....
Avatar billede hyperactive Nybegynder
12. november 2002 - 17:08 #2
taager.... koden ligger i en ASP include fil med en masse forskellige Subs, så det kan jeg ikke
Avatar billede hyperactive Nybegynder
14. november 2002 - 11:18 #3
Lukker..... der ser ikke ud til at komme nogen løsning
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