1
我已經編寫了一個ASP應用程序,它從MySQL數據庫(v5.1.63)讀取3600行並在HTML表格中輸出數據。我正在使用記錄集來獲取數據和頁面大小/光標位置,以便用戶在頁面之間前進/後退。該數據庫現在包含約200,000行,但不斷增長。如何提高記錄集處理的性能
頁面加載時間越來越長(大約15-20秒),如果可能,我想對其進行優化。
我會非常感興趣的如何提高性能的提示。
這裏是數據庫結構:
# Col Type Collation Attributes Null Default 1 ID int(11) No None AUTO_INCREMENT 2 mean varchar(5) utf8_general_ci No None 3 max varchar(5) utf8_general_ci No None 4 min varchar(5) utf8_general_ci No None 5 dt varchar(20) utf8_general_ci No None 6 dir varchar(2) utf8_general_ci No None 7 log text utf8_general_ci No None
這裏是我使用的代碼:
' Opening the db
Set oConn = Server.CreateObject("ADODB.Connection")
Set oRS = Server.CreateObject("ADODB.Recordset")
oConn.ConnectionString =
"DRIVER={MySQL};SERVER=<server>;DATABASE=<database>;UID=<uid>;PWD=<pwd>;"
oConn.Open
' Retrieve 3600 records
sSQL = "SELECT * FROM mytable ORDER BY id DESC"
oRS.CursorLocation = adUseServer
oRS.PageSize = 6*600
oRS.Open sSQL, oConn, adOpenForwardOnly, adLockReadOnly
nPageCount = oRS.PageCount
...code to set the page selected by the user (nPage)
oRS.AbsolutePage = nPage
Do While Not (oRS.EOF Or oRS.AbsolutePage <> nPage)
...
Response.Write("<td>" & oRS("dt") & "</td>")
Response.Write("<td>" & oRS("mean") & "</td>")
Response.Write("<td>" & oRS("min") & "</td>")
Response.Write("<td>" & oRS("max") & "</td>")
...
oRS.MoveNext
Loop
oRS.Close
謝謝,這大大縮短了加載時間。還有什麼可以做的,比如改變光標類型等? – user1119112