이상한 상황이 발생합니다. 계획 캐시가 거의 비어 있습니다.거의 비어있는 계획 캐시
SELECT dec.plan_handle,qs.sql_handle, dec.usecounts, dec.refcounts, dec.objtype
, dec.cacheobjtype, des.dbid, des.text,deq.query_plan
FROM sys.dm_exec_cached_plans AS dec
join sys.dm_exec_query_stats AS qs on dec.plan_handle=qs.plan_handle
CROSS APPLY sys.dm_exec_sql_text(dec.plan_handle) AS des
CROSS APPLY sys.dm_exec_query_plan(dec.plan_handle) AS deq
WHERE cacheobjtype = N'Compiled Plan'
AND objtype IN (N'Adhoc', N'Prepared')
한 순간은 나에게 82 행, 다음 다음 한 50, 40 다음 55 등 시간이 나는의 끝에 도달하지 전에 상태를 보여줍니다 나는 안에 뭐가 보려면 다음 쿼리를 사용하여 동일한 명령을 발행하는 계획 캐시. 요점은 SQL Server가 계획 캐시를 매우 작게 유지한다는 것입니다. 내 조사의 주된 이유는 정상적인 하루 작업 부하에서 높은 부하가없는 우리의 기준선에 비해 높은 CPU입니다. 지속적으로 65-80 %
성능 카운터는 계획 캐시 적중률에 대해 낮은 값을 나타냅니다. 50 %, 높은 컴파일 - 초당 2000 건의 배치 요청 중 400 개와 높은 CPU - 73 개 평균. 무엇이이 문제를 일으킬 수 있습니까?
질문의 주된 목적은 빈 계획 캐시의 가능한 이유를 학습하는 것입니다.
메모리는 OK입니다 - 최소 : 0 최대 : 나는 또한 메모리 압력의 흔적이 발견되지 않았다 245000.
- PLE, 게으른 쓰기, 무료 목록 디스크 활동이 단지 확인했다 포장 마차, 로그 말하지 않았다 물건. 나는이 문제의 가능한 원인을 찾아 왔으므로 조사를 진행할 수있었습니다.
편집은 :
SQL Server 2008 plan cache is almost always empty
을하지만 권고 사항 중 어느 것도/가능한 이유는 관련이 없다 : 나는 또한이 스레드 생각했다.
dba.stackexchange.com에서이 질문을해야합니다. –