Как проверить, существует ли запрос в кеше запросов? - PullRequest
1 голос
/ 07 ноября 2010

Используя NHibernate, как я могу проверить, существует ли выполняемый запрос в кеше запросов или нет программно?

Ответы [ 2 ]

1 голос
/ 08 ноября 2010

Взгляните на http://msdn.microsoft.com/en-us/library/ms174283.aspx. В этой статье приведен пример, в котором извлекается план запроса для конкретного запроса (в разделе «А. Очистка плана запроса из кэша плана»):

SELECT plan_handle, st.text
FROM sys.dm_exec_cached_plans 
WHERE text LIKE N'SELECT * FROM Person.Address%';

Это, однако, не интегрировано в NHibernate, и вам потребуется знать код SQL для вашего запроса.

0 голосов
/ 07 ноября 2010

Один простой способ - включить SQL Profiler. Если вы видите, что запрос попадает в базу данных, значит, он не находится в кэше.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...