아래 코드를 사용하여 테이블에서 데이터를 검색하고 있습니다. 그 결과 데이터를 그리드에 바인딩하고 있습니다. 문제는 속도와 관련이 있습니다.이 쿼리는 백엔드에서 30 ~ 40 초 걸리는 데 거의 2 ~ 3 분이 걸립니다.레코드 집합의 쿼리 실행 시간 증가 (CursorLocation)
----------- 현재 코드 ------------------
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
------- 대체
-------- 사용하여 대체 솔루션을 실행 같은 속도 : 솔루션 나는 클라이언트 ---------------
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()
// 결과 : 속도가 빠르다하지만 나는 우는 소리 오류를 보여주는 그리드 값을 업데이트하려고하면
"런타임 오류 '3251': 현재 레코드는 updating.This을 지원하지 않습니다 공급자 또는 선택한 locktype의 제한이 될 수 있습니다. "