webForumDet fria alternativet

Hjälp med getDbRows, sidan blir seg

ASP

1 svar · 197 visningar · startad av Kristianstad

Medlem sedan dec. 2002841 inlägg
Frågan#1

Hej!

Jag använder följande funktion för att exekvera sql-frågor

Function getDbRows(strSql)
Set Conn = Server.CreateObject("ADODB.Connection")%>
<!-- #include file="koppling.asp" -->
<%
Set RS = Conn.Execute( strSql )
If RS.EOF Then
rader=null
Else
rader = RS.getrows
End If
RS.close
Set RS = Nothing
Conn.Close
Set Conn=Nothing
getDbRows = rader
End Function

Men nu har jag ett problem. Jag har en sida där jag ska dela upp på flera sidor (paging). Tabellen innehåller 2000 poster!! Jag använder följande kod till det:

Sidstorlek = 40
If Request.QueryString("Page")="" Then
Page = "1"
Else
Page = Request.QueryString("Page")
End If

Start = ((Sidstorlek * Page) - Sidstorlek)

For i = Start To ((Start + Sidstorlek) -1)

Men sidan tar 25 sekunder att ladda. Vad kan vara fel?
SQL-frågan är
select titel, ar, f.id, count(b.betyg) as votes, sum(b.betyg)/count(b.betyg) as betyg
from filmer as f
left join betyg b
on f.id = b.filmid

Medlem sedan sep. 20026 425 inlägg
#2

Har du bra kod för pagingen? Här kommer en kodsnutt som fungerar finfint: GetRows() och paging

258 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849
118 ms — deklarationer (db)
0 ms — hämta statistik (cache)
133 ms — hämta tråd, inlägg och bilagor (db)
123 ms — ändringar (db)