2011-10-10 4 views
1

나는 매개 변수가있는 쿼리에 대한 쿼리 계획이 캐시되지만 어떤 수준에 있는지 알고 있습니다. 연결을 끊으면 쿼리 계획이 삭제됩니까? 다른 명령 개체를 사용하면 쿼리 계획이 삭제됩니까?매개 변수화 된 쿼리는 ODBC에 의해 자동으로 캐시됩니까?

요약하면 쿼리 계획을 유지하기 위해 내 응용 프로그램에 캐시해야 할 개체는 무엇입니까?

답변

3

쿼리 계획은 SQL Server에서 캐시되며 여러 다른 연결을 통해 다시 사용할 수 있습니다.

MS SQL Server에서는 쿼리와 매개 변수 서명이 모두 캐시 된 계획에 해시됩니다.

가변 길이 매개 변수에 중요 할 수 있습니다. 예를 들어 VARCHAR 매개 변수의 크기를 지정하지 않으면 제공된 매개 변수의 실제 길이에 따라 사용자가 선택합니다. 이것은 매개 변수의 길이가 다른 경우 다른 매개 변수 서명을 의미합니다. 대신 VARCHAR 매개 변수의 길이를 지정하고 동일한 매개 변수 서명을 보장하고 계획 재사용을 허용해야합니다.

클라이언트 코드가이를 적용하기 위해 적극적으로 수행 할 필요가 없습니다.

관련 문제