Ocho formas diferentes de borrar el caché del plan
1. Elimine todos los elementos de la caché del plan para toda la instancia
DBCC FREEPROCCACHE;
Use esto para borrar el caché del plan con cuidado. La liberación de la memoria caché del plan hace que, por ejemplo, se recompile un procedimiento almacenado en lugar de reutilizarse desde la memoria caché. Esto puede causar una disminución repentina y temporal en el rendimiento de la consulta.
2. Vacíe el caché del plan para toda la instancia y suprima el mensaje de finalización regular
"Ejecución de DBCC completada. Si DBCC imprimió mensajes de error, comuníquese con el administrador del sistema".
DBCC FREEPROCCACHE WITH NO_INFOMSGS;
3. Vacíe el caché del plan ad hoc y preparado para toda la instancia
DBCC FREESYSTEMCACHE ('SQL Plans');
4. Vacíe el caché del plan ad hoc y preparado para un grupo de recursos
DBCC FREESYSTEMCACHE ('SQL Plans', 'LimitedIOPool');
5. Vacíe todo el caché del plan para un grupo de recursos
DBCC FREEPROCCACHE ('LimitedIOPool');
6. Elimine todos los elementos de la caché del plan para una base de datos (no funciona en SQL Azure)
-- Get DBID from one database name first
DECLARE @intDBID INT;
SET @intDBID = (SELECT [dbid]
FROM master.dbo.sysdatabases
WHERE name = N'AdventureWorks2014');
DBCC FLUSHPROCINDB (@intDBID);
7. Borrar el caché del plan para la base de datos actual
USE AdventureWorks2014;
GO
-- New in SQL Server 2016 and SQL Azure
ALTER DATABASE SCOPED CONFIGURATION CLEAR PROCEDURE_CACHE;
8. Eliminar un plan de consulta del caché
USE AdventureWorks2014;
GO
-- Run a stored procedure or query
EXEC dbo.uspGetEmployeeManagers 9;
-- Find the plan handle for that query
-- OPTION (RECOMPILE) keeps this query from going into the plan cache
SELECT cp.plan_handle, cp.objtype, cp.usecounts,
DB_NAME(st.dbid) AS [DatabaseName]
FROM sys.dm_exec_cached_plans AS cp CROSS APPLY sys.dm_exec_sql_text(plan_handle) AS st
WHERE OBJECT_NAME (st.objectid)
LIKE N'%uspGetEmployeeManagers%' OPTION (RECOMPILE);
-- Remove the specific query plan from the cache using the plan handle from the above query
DBCC FREEPROCCACHE (0x050011007A2CC30E204991F30200000001000000000000000000000000000000000000000000000000000000);
Fuente 1 2 3