2010-12-17 9 views
2

여러분,Sql Server는 컴파일 된 쿼리와 실행 계획을 트랜잭션 전체에 캐시합니까?

동일한 매개 변수에 따라 여러 Inserts/Updates를 실행하려면 준비된 sql 문의 best-practice을 사용하고 있습니다. 내 디자인에는 두 가지 선택 사항이 있습니다. 1. 모든 작업이 단일 트랜잭션으로 완료됩니다. 2. 작업을 여러 트랜잭션 (명령문 당 하나가 아니라 내 환경의 동시성에 적합한 트랜잭션)으로 나누십시오. # 2를 선택하면 SQL은 트랜잭션 전체에서 캐시 된 컴파일 된 쿼리/실행 계획을 활용할 것입니까? 또는 트랜잭션 내에서 쿼리가 작성 되었기 때문에 캐시의 수명은 트랜잭션으로 제한됩니까?

답변

6

계획은 트랜잭션과 관련이 없습니다. 또는 그 문제에 대한 연결

즉, 많은 txns 및/또는 사용자 및/또는 연결에서 계획을 공유 할 수 있습니다. 그리고 계획이 유효하고 캐시에 여전히 있다면 다른 시간에

+0

+1보다 완벽한 답변을 내게 :-) – TToni

+0

정말 고마워! – SFun28

5

쿼리 캐시는 트랜잭션과 관계가 없으므로 선택한 옵션에 관계없이 쿼리가 캐시됩니다.

+0

TToni - 죄송합니다. 나는 하나의 대답 만 수락 할 수 있습니다. 정말 고마워! – SFun28

관련 문제