RecordSet 커서타입에 따른 성능

-- ASP 2009. 4. 10. 09:55
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

rs.Open sql, db [,커서타입, Lock타입, 옵션]

* CursorLocation
adUseClient : 3
adUseNone : 1
adUseServer : 2

rs.CursorLocation = 3

첫번째는 SQL문이나 저장프로시저를 사용해도 됩니다.

두번째는 Connection객체를 씁니다.

세번째부터는 생략 가능합니다. 세번째는 커서타입(ADO상수)입니다.
   0 <adOpenForwardOnly>: 레코드를 앞으로 이동시키면서 순차적으로 한번만 읽음
   1 <adOpenKeyset> : 레코드를 자유로이이동-레코드갱신-다른사용자가추가한내용열람불가
   2 <adOpenDynamic> : 레코드를 자유로이이동-레코드갱신-다른사용자가 작업한 모든내용 열람가능
   3 <adOpenStatic> : 레코드를 자유로이이동-레코드갱신불가-단지 데이타를 가져오는데 유용

네번째는 Lock타입입니다.
   adLockReadOnly : 레코드는 읽을수만 있읍니다.
   adLockPessimistic : 각 레코드는 한번밖에 갱신안됩니다.
   adLockOptimistic : 각 레코드는 한번이상 갱신가능하나 Update메서드를 실행하면 갱신안됩니다.
   adLockBatchOptimistic : 갱신모드로 들어가면 작업가능 

다섯번쨰는 옵션입니다.
   adCmdText : 첫번째가 SQL문을 실행함을 지정
   adCmdStoredProc : 첫번째가 저장프로시저를 사용함을 지정
   adCmdTable : 첫번째가 테이블을 가져오는것임을 지정

기본이 adUseServer 이기 때문에 adOpenDynamic , adOpenKeyset 등을 쓸 경우 1건식 프로파일러에
exec sp_cursorfetch 180150377,32,1,1 이런식으로 찍히는 것을 발견할 수 있다.
이걸 날려주려면 cursor location 을 client 로 바꾸어 주어야 합니다.

출처가 생각 안나네요 ㅎ

'-- ASP' 카테고리의 다른 글

ASP Cint (value) 함수 사용시 주의점  (0) 2010.07.16
윈도우2008 IIS7.0에서 Classic ASP를 사용할 때  (0) 2010.03.23
asp용 md5  (0) 2009.07.30
asp배열을 사용 시 주의사항  (0) 2009.07.13
FSO객체정리  (0) 2007.01.31
posted by 어린왕자악꿍