Différence entre FreeProcCache et FreeSystemCache


12

Actuellement, je lance DBCC FREEPROCCACHElorsque je veux effacer les informations du pool de mémoire tampon entre les requêtes SQL en cours d'exécution. Cependant, je passais en revue cet article Technet faisant référence DBCC FREESYSTEMCACHE. Quels caches FREESYSTEMCACHEeffacent cela FREEPROCCACHE?

Réponses:


25

Quels caches FREESYSTEMCACHE efface-t-il que FREEPROCCACHE ne fait pas?

Il existe de nombreux caches système disponibles dans SQL Server. Je fais référence à SQL 2008R2 (comme je l'ai testé dessus).

La requête ci-dessous renverra tous les caches disponibles:

--- ONLY for Educational purpose. Don't attempt to run on PROD !!

select 'DBCC freesystemcache ('+''''+name+''''+')'  from   sys.dm_os_memory_clerks group by name
-- 155 rows

par exemple, vous voulez effacer tous les caches que vous exécuterez

DBCC FREESYSTEMCACHE ('ALL')

pour que les caches spécifiques soient effacés, vous pouvez exécuter

DBCC FREESYSTEMCACHE ('userdatabase') -- cleans cache for specific user database
DBCC FREESYSTEMCACHE ('tempdb')  -- clears cache for tempdb
DBCC FREESYSTEMCACHE ('Temporary Tables & Table Variables') -- clears all the temp table and variables
.. and many more (see above 155 rows returned from sql server 2008R2)

En utilisant FREEPROCCACHE, vous ne pourrez pas effacer tout ce qui précède à ce niveau détaillé.

FREEPROCCACHE ==> de BOL

Supprime tous les éléments du cache de plan, supprime un plan spécifique du cache de plan en spécifiant un descripteur de plan ou un descripteur SQL, ou supprime toutes les entrées de cache associées à un pool de ressources spécifié.

Donc, essentiellement, vous pouvez le considérer comme uniquement lié au cache Plan avec la possibilité de supprimer des plans spécifiques du cache avec le descripteur de plan et / ou le nom du pool.

Fun With DBCC FREEPROCCACHE est un blog de Glenn Berry

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.