Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cassandra/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vb6 增加记录集中查询的执行时间(游标位置)_Vb6_Recordset - Fatal编程技术网

Vb6 增加记录集中查询的执行时间(游标位置)

Vb6 增加记录集中查询的执行时间(游标位置),vb6,recordset,Vb6,Recordset,我使用下面的代码从表中检索数据。 之后,我将结果数据绑定到网格。 问题在于速度。这个查询需要2到3分钟才能执行,而从后端执行则需要30到40秒 -----------当前代码------------------ rs.ActiveConnection = con //con is connection con.Errors.Clear rs.CursorLocation = adUseServer rs.CursorType = adOpenDynamic rs.LockType = adLoc

我使用下面的代码从表中检索数据。 之后,我将结果数据绑定到网格。 问题在于速度。这个查询需要2到3分钟才能执行,而从后端执行则需要30到40秒

-----------当前代码------------------

rs.ActiveConnection = con //con is connection
con.Errors.Clear
rs.CursorLocation = adUseServer
rs.CursorType = adOpenDynamic
rs.LockType = adLockOptimistic
rs.StayInSync = True
On Error Resume Next
rs.Open strCmd //strCmd is query
-------我尝试使用客户端的替代解决方案---------------

///结果:速度相同

--------使用Execute而不是Open recodset的替代解决方案---------------

//结果:速度很快,但当我尝试更新网格中的值时,它显示以下错误:

运行时错误“3251”:当前记录集不支持 更新。这可能是提供商的限制,也可能是所选服务器的限制 锁型。”



我认为可能是您的表设置/查询,而不是您的连接导致了问题

确保WHERE、JOIN和ORDER BY子句中列出的每个字段都已编制索引

重新评估您正在创建的任何派生字段。前几天我看到一个查询,它组合了两个文本字段,然后在新的未索引字段上排序

如果你发布你的查询和你的表结构,它会给我一个更好的想法

rs.ActiveConnection = con //con is connection
con.Errors.Clear
rs.CursorLocation = adUseClient
rs.CursorType = adOpenKeyset
rs.LockType = adLockBatchOptimistic
rs.StayInSync = True
On Error Resume Next
rs.Open strCmd //strCmd is query
com.ActiveConnection = con //con is connection
com.CommandType = adCmdText
com.CommandTimeout = 500
com.CommandText = strCmd //strCmd is query
con.Errors.Clear
On Error Resume Next
Set rs= com.Execute()