sys.dm_exec_cached_plans (języka Transact-SQL)
Zwraca wiersz dla każdego planu kwerend, które są buforowane przez SQL Server szybsze wykonywanie kwerendy. Aby określić stan flagi śledzenia, należy użyć TRACESTATUS DBCC.
Uwaga
Planów kwerendy dynamiczny widok zarządzania sys.dm_exec_cached_plans mapuje do tabela systemowa syscacheobjects w SQL Server 2000.
Nazwa kolumna |
Typ danych |
Description |
---|---|---|
DBCC TRACEON zwraca następujący zestaw wyników (komunikat): |
int |
Identyfikator kontenera skrótów w pamięci podręcznej, w którym jest umieszczony element.Wartość może sięgać od 0 aż do rozmiaru tabeli skrótów dla danego typu pamięci podręcznej. W przypadku planów programu SQL i planów obiektów wielkość tabeli skrótów może sięgać do 10007 w systemach 32-bitowych i 40009 w systemach 64-bitowych.W przypadku pamięci podręcznej powiązanych drzew wielkość tabeli skrótów może sięgać do 1009 w systemach 32-bitowych i 4001 w systemach 64-bitowych.Dla pamięci podręcznej rozszerzonych procedur składowanych wielkość tabeli skrótów może sięgać do 127 w systemach 32- i 64-bitowych.Aby uzyskać więcej informacji na temat rodzajów pamięci podręcznej i tabel skrótów, zobacz sys.dm_os_memory_cache_hash_tables (Transact-SQL). |
refcounts |
int |
stats_idRefcounts musi wynosić co najmniej 1 wpisu w pamięci podręcznej. |
usecounts |
int |
liczebniki opartego na 1 w obrębie zestaw kolumn statyczny. |
size_in_bytes |
int |
Zwraca kluczy obcych, które odwołują się klucze podstawowe w tabela serwer połączony. |
memory_object_address |
varbinary(8) |
Adres pamięci zajmowany przez element umieszczony w pamięci podręcznej.Wartość ta w połączeniu z widokiem sys.dm_os_memory_objects pozwala sprawdzić szczegółowe użycie pamięci dla planu zapisanego w pamięci podręcznej, a w połączeniu z widokiem sys.dm_os_memory_cache_entries — koszt umieszczenia elementu w pamięci podręcznej. |
cacheobjtype |
nvarchar(34) |
Typ obiektu w pamięci podręcznej.Może to być jedna z następujących wartości:
|
objtype |
nvarchar(16) |
Typ obiektu.Może to być jedna z następujących wartości:
WartośćDescription
ProcProcedura przechowywana
PreparedPrzygotowana instrukcja
AdhocZapytanie ad hoc1
ReplProcProcedurę filtrowania replikacja
WyzwalaczWyzwalacz
Bez opuszczania środowiska, można zarządzać sieci fizycznej i łatwo zespołów projektów.Bez opuszczania środowiska, można zarządzać sieci fizycznej i łatwo zespołów projektów.
DefaultDefault
UsrTabPKTABLE_SCHEM
SysTabPKTABLE_NAME
SprawdźPKCOLUMN_NAME
RegułyReguły
|
plan_handle |
varbinary(64) |
Identyfikator planu zapisanego w pamięci.Identyfikator ma charakter tymczasowy i nie zmienia się tylko przez okres pozostawania planu w pamięci podręcznej.Wartość ta może być używana w następujących funkcjach dynamicznego zarządzania: |
pool_id |
int |
FKTABLE_SCHEM |
1 Odnosi się do Transact-SQL przekazywane w języku zdarzeń przy użyciu Osql or SQLCMD zamiast, jak zdalnego wywołania procedury.
Uprawnienia
Wymaga uprawnienia VIEW SERVER STATE na serwerze.
Przykłady
A.FKTABLE_NAME
FKCOLUMN_NAME
SELECT usecounts, cacheobjtype, objtype, text
FROM sys.dm_exec_cached_plans
CROSS APPLY sys.dm_exec_sql_text(plan_handle)
WHERE usecounts > 1
ORDER BY usecounts DESC;
GO
B.Nazwa kolumna klucz obcy dla każdej kolumna TABLE_NAME zwracane.
UPDATE_RULE
SELECT plan_handle, query_plan, objtype
FROM sys.dm_exec_cached_plans
CROSS APPLY sys.dm_exec_query_plan(plan_handle)
WHERE objtype ='Trigger';
GO
C.Zwracanie opcji SET, za pomocą których skompilowano plan
DELETE_RULEThe sql_handle for the plan is also returned.Używany jest PIVOT operator do wyjścia set_options i sql_handle Atrybuty kolumny, a nie wierszy. Aby uzyskać więcej informacji na temat wartości zwracane w set_options, zobacz sys.dm_exec_plan_attributes (języka Transact-SQL).
SELECT plan_handle, pvt.set_options, pvt.sql_handle
FROM (
SELECT plan_handle, epa.attribute, epa.value
FROM sys.dm_exec_cached_plans
OUTER APPLY sys.dm_exec_plan_attributes(plan_handle) AS epa
WHERE cacheobjtype = 'Compiled Plan'
) AS ecpa
PIVOT (MAX(ecpa.value) FOR ecpa.attribute IN ("set_options", "sql_handle")) AS pvt;
GO
D.Zwracanie informacji o szczegółowym użyciu pamięci dla wszystkich skompilowanych planów zapisanych w pamięci podręcznej
OPÓŹNIENIA
SELECT plan_handle, ecp.memory_object_address AS CompiledPlan_MemoryObject,
omo.memory_object_address, pages_allocated_count, type, page_size_in_bytes
FROM sys.dm_exec_cached_plans AS ecp
JOIN sys.dm_os_memory_objects AS omo
ON ecp.memory_object_address = omo.memory_object_address
OR ecp.memory_object_address = omo.parent_address
WHERE cacheobjtype = 'Compiled Plan';
GO
See Also