Hjälp med getDbRows, sidan blir seg

ASP

1 svar · 208 visningar · startad av Kristianstad

Medlem sedan dec. 2002841 inlägg
Trådstart#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

253 ms totalt · 4 externa anrop · v20260731065814-full.d34c6d5a
120 ms — deklarationer (db)
0 ms — hämta statistik (cache)
125 ms — hämta tråd, inlägg och bilagor (db)
125 ms — ändringar (db)