Warum ist das so langsam?

JohnDoe

Erfahrenes Mitglied
Hallo alle zsuammen...

Ich soll eine ASP-Inhaltsseite schreiben.
Das hab ich auch getan. Aber leider ist diese beim aufrufen sehr langsam. Es dauert sehr lange, bis die fertig geladen ist.
Der Quellcode sieht so aus:

<%
' <link rel="stylesheet" type="text/css" href="Formate.css">
set nameconn=Server.createObject("ADODB.Connection")
nameconn.open "INDEX"
set rs = nameconn.execute("SELECT * FROM Kategorie")
while not rs.eof
set Anzahl = nameconn.execute ("SELECT COUNT(Kategorie) FROM Link WHERE Kategorie =" & rs("ID_Kat"))
if not Anzahl(0) = 0 then
set rs1 = nameconn.execute ("SELECT * FROM Link WHERE Kategorie = " & rs("ID_Kat"))
response.write "<table>"
response.write "<tr><td width=""50""></td><td width=""350""></td><td width=""600""></td></tr>"
response.write "<tr><td colspan = ""3"">"
response.write "<b>" & rs("Kategorie") & "</b><br>"
response.write "</td></tr>"
while not rs1.eof
response.write "<tr><td></td><td>"
response.write "<a href='"
response.write rs1("Link")
response.write "'>"
response.write rs1("Name")
response.write "</a></td><td>"
response.write rs1("Beschreibung") & "</td></tr>"
rs1.movenext
wend
response.write "</table>"
rs1.close
end if
rs.movenext
wend
rs.close
nameconn.close
%>
Die DB hat zwei Tabellen (Link und Kategorie)

Link:
____________________________________________________________________
ID_Eintrag | Name | Link | Beschreibung | Kategorie
0 | Test |Link1.htm | Test1 | 1
--------------------------------------------------------------------

Kategorie:
________________________
ID_Kat | Kategorie
1 | Testkat1
2 | Testkat2
. | .
. | .
. | .
-------------------------

Warum läuft die so langsam. Sonst hab ich eigentlich mehr schleifen...

Nachtrag: Sorrym ich dachte, dass sieht als Eintrag so aus wie beim Schreiben
 
naja liegt ein wenig an deinem server, ein wenig an deinem style... naja..


z.b. deine response.write kannst du eigentlich so machen

<%
' <link rel="stylesheet" type="text/css" href="Formate.css">
set nameconn=Server.createObject("ADODB.Connection")
nameconn.open "INDEX"
set rs = nameconn.execute("SELECT * FROM Kategorie")
while not rs.eof
set Anzahl = nameconn.execute ("SELECT COUNT(Kategorie) FROM Link WHERE Kategorie =" & rs("ID_Kat"))
if not Anzahl(0) = 0 then
set rs1 = nameconn.execute ("SELECT * FROM Link WHERE Kategorie = " & rs("ID_Kat"))
%><table>
<tr><td width="50"></td><td width="350"></td><td width="600"></td></tr>
<tr><td colspan="3">
<b><%= rs("Kategorie")%></b><br></td></tr>
<% while not rs1.eof
<tr><td></td><td>
<a href="<%= rs1("Link")%>"><%=rs1("Name")%></a></td><td>
<%=rs1("Beschreibung")%></td></tr>
<%
rs1.movenext
wend
%>
</table>
<%
rs1.close
end if
rs.movenext
wend
rs.close
nameconn.close
%>

da durch braucht der server nicht soviel unsinnigen html code interpretieren.. naja und eventuell kannst du ja auch mal die schleifen überdenken.
 
Danke für die Tipps.
In einer 2. Seite habe ich das mit dem Write so gemacht. Ich bin eben noch ein Anfänger...

Wie könnte ich dass mit den Schleifen machen?

Der Fehler liegt übrigens bei dem Server (Ich muss mal die Schuld weit von mir wegschieben;-)... )
Nein, im ernst.Der ODBC scheint ziemlich langsam zu laufen, und die Festplatte arbeitet ziemlich, wenn es um einen ODBC-Aufruf geht.
Das ist auch bei einer anderen Seite so, die ich lange nicht angefasst habe und die sonst funktioniert...
Auf meinem Server zu Hause und auf einem zweiten Server läuft das im Bruchteil einer Sekunde.

Vielleicht könntest du mir trotzdem bei den Schleifen einen Tip geben? Biiiiiiiiiiiiiiiitte
 

Neue Beiträge

Zurück