Как сообщить SQL Server для не использования Кэша в Запросах?

Consolas для Visual Studio. Это - первая вещь, которую я изменяю при получении новых настроек установки. Второе инвертирует основные цвета, на белый текст на черном фоне намного легче уставиться в течение многих часов, по-моему.

Черный текст на белом фоне http://college-code.com/stackoverflow/black_on_white.PNG

По сравнению с

Белый текст на черном фоне http://college-code.com/stackoverflow/white_on_black.PNG

второй имеет тенденцию заставлять мои глаза выйти за край меньше после долгого кодирования сессий. Мог быть мой код как бы то ни было.

22
задан Abs 6 December 2009 в 23:14
поделиться

3 ответа

DBCC FREEPROCCACHE

Удаляет все кэшированные планы выполнения процедур. Это привело бы к перекомпиляции всех последующих вызовов процедур.

Добавление WITH RECOMPILE в определение процедуры привело бы к повторной компиляции процедуры каждый раз, когда она вызывалась.

Я не верю, что (в SQL 2005 или более ранней версии) существует любой способ очистить кеш процедур для плана выполнения одной процедуры, и я сомневаюсь, что вы сможете это сделать и в 2008 году.

24
ответ дан 29 November 2019 в 04:29
поделиться

Если вы хотите заставить запрос не использовать кеш данных, лучший подход - очистить кеш перед запуском запроса:

CHECKPOINT
DBCC DROPCLEANBUFFERS

Обратите внимание, что принудительная перекомпиляция не будет иметь никакого эффекта об использовании кеша данных запросом.

Одна из причин, по которой вы не можете просто пометить отдельный запрос, чтобы избежать кеширования, заключается в том, что использование кеша является неотъемлемой частью выполнения запроса. Если данные уже находятся в кеше, что SQL Server будет делать с данными, если они будут прочитаны во второй раз? Не говоря уже о проблемах с синхронизацией и т. Д.

20
ответ дан 29 November 2019 в 04:29
поделиться

используйте

WITH RECOMPILE
1
ответ дан 29 November 2019 в 04:29
поделиться
Другие вопросы по тегам:

Похожие вопросы: