MSSQL 캐시 확인 및 삭제
MSSQL은 쿼리를 실행하기 전에 컴파일을 하고 실행하는데 자원과 시간의 비용을 줄이기 위해서 한번 사용한 쿼리를 재사용하기 위해 캐시에 담아두고 재사용을 합니다.
이상으로 MSSQL 캐시 확인 및 삭제에 대해서 알아보았습니다.
오늘도~~~ 행복하고~~~ 좋은하루~~~ 되세요~~~^^
비용을 줄이기 때문에 좋은 기능이고 사용해야 할 기능이지만, 간혹 해당 캐시를 지워야 하는 경우가 있습니다. 하여 오늘은 MSSQL 캐시 확인 및 삭제에 대해서 알아볼까 합니다.
-- 캐시는 SYSCACHEOBJECTS 시스템 테이블에 정보가 있습니다.
-- Where 문을 이용하면 특정 쿼리문이 들어간 캐시를 추출 할 수 있습니다.
-- Where 문을 이용하면 특정 쿼리문이 들어간 캐시를 추출 할 수 있습니다.
SELECT * FROM SYS.SYSCACHEOBJECTS WHERE [SQL] LIKE '%쿼리문%'
-- 사용중인 캐시 추출
SELECT plan_handle, st.text
FROM sys.dm_exec_cached_plans
CROSS APPLY sys.dm_exec_sql_text(plan_handle) AS st
WHERE text LIKE N'%쿼리문%';
-- 캐시 제거
-- DBCC FREEPROCCACHE (0x05000800E5F00E5FD2452303F4CF)
/*********************************************************************/
-- 데이터베이스 전체 캐시 삭제
/*********************************************************************/
SELECT * FROM SYSDATABASES
SELECT objtype, dbid, usecounts, status, sqlbytes, sql, *
FROM master.dbo.syscacheobjects
WHERE dbid = 8
DBCC FlushPROCINDB(dbid 일련번호)
-- 사용중인 캐시 추출
SELECT plan_handle, st.text
FROM sys.dm_exec_cached_plans
CROSS APPLY sys.dm_exec_sql_text(plan_handle) AS st
WHERE text LIKE N'%쿼리문%';
-- 캐시 제거
-- DBCC FREEPROCCACHE (0x05000800E5F00E5FD2452303F4CF)
/*********************************************************************/
-- 데이터베이스 전체 캐시 삭제
/*********************************************************************/
SELECT * FROM SYSDATABASES
SELECT objtype, dbid, usecounts, status, sqlbytes, sql, *
FROM master.dbo.syscacheobjects
WHERE dbid = 8
DBCC FlushPROCINDB(dbid 일련번호)
이상으로 MSSQL 캐시 확인 및 삭제에 대해서 알아보았습니다.
오늘도~~~ 행복하고~~~ 좋은하루~~~ 되세요~~~^^
댓글
댓글 쓰기