问问各位大牛,提取数据库记录为什么速度如此慢?焦急等待中...
我的程序是c/s方式的,s是一个固定IP地址的服务器,我程序是用vb6开发的,一个个客户端安装了,窗体上放置了一个msflexgrid控件,程序访问数据库是通过存储过程实现的。现在遇到一个问题,我写了一个程序过程,用来获取这张表的记录的。sp名字p_assocmember_GetList
存储过程内容:
select * from doTable order by id
窗体上放了一个msflexgrid控件,在form_load()里加了如下代码:
Public Sub Data_Load()
Dim i As Integer
MSFlexGrid_Format
Set cmd = New ADODB.Command
Set rst = New ADODB.Recordset
dbConnect
cmd.ActiveConnection = cnDatabase
cmd.CommandType = adCmdStoredProc
cmd.CommandText = "p_assocmember_GetList"
Set rst = cmd.Execute
If rst.BOF = False Then
i = 1
Do Until rst.EOF
Me.msfgVisitor.TextMatrix(i, 1) = rst!sn
Me.msfgVisitor.TextMatrix(i, 2) = IIf(IsNull(rst!VisitDate), "", rst!VisitDate)
Me.msfgVisitor.TextMatrix(i, 3) = IIf(IsNull(rst!VisitTime), "", rst!VisitTime)
Me.msfgVisitor.TextMatrix(i, 4) = IIf(IsNull(rst!IsAppoint), "", IIf(rst!IsAppoint = 1, "是", "否"))
Me.msfgVisitor.TextMatrix(i, 5) = IIf(IsNull(rst!Name), "", rst!Name)
Me.msfgVisitor.TextMatrix(i, 6) = IIf(IsNull(rst!Sex), "", rst!Sex)
Me.msfgVisitor.TextMatrix(i, 7) = IIf(IsNull(rst!HomePhone), "", rst!HomePhone)
Me.msfgVisitor.TextMatrix(i, 8) = IIf(IsNull(rst!Mobile), "", rst!Mobile)
Me.msfgVisitor.TextMatrix(i, 9) = IIf(IsNull(rst!age), "", rst!age)
Me.msfgVisitor.TextMatrix(i, 10) = IIf(IsNull(rst!CustomerSource), "", rst!CustomerSource)
Me.msfgVisitor.TextMatrix(i, 11) = IIf(IsNull(rst!IsphTest), "", IIf(rst!IsphTest = 1, "是", "否"))
Me.msfgVisitor.TextMatrix(i, 12) = IIf(IsNull(rst!CoachName), "", rst!CoachName)
Me.msfgVisitor.TextMatrix(i, 13) = IIf(IsNull(rst!MemberCon), "", rst!MemberCon)
Me.msfgVisitor.TextMatrix(i, 14) = Format(IIf(IsNull(rst!FrontMoney), "0", rst!FrontMoney), "###.00")
Me.msfgVisitor.TextMatrix(i, 15) = IIf(IsNull(rst!regman), "", rst!regman)
i = i + 1
rst.MoveNext
Loop
End If
cnDatabase.Close
Set rst = Nothing
Set cmd = Nothing
End Sub
需要解决的问题:现在存了90条记录,读取时间大概是:36秒,我的笔记本是用无线网络方式的。请问大牛,如何优化一下,这样速度太慢了。以后记录还要多,要等半天了。