SQL_NO_CACHE для Postgresql? - PullRequest
       7

SQL_NO_CACHE для Postgresql?

8 голосов
/ 26 мая 2011

Существует ли postgresql-эквивалент для ключевого слова MySQL SQL_NO_CACHE (или SQL Server dbcc drop clean buffers), т.е. который вы можете просто включить в оператор SQL или как часть сценария?

ОБНОВЛЕНИЕ : этот вопрос

Видеть и очищать кэши / буферы Postgres?

, кажется, говорит, что ответ "нет", хотя сейчас ему два года. Есть ли какие-либо существенные изменения в postgresql 9.0?

Ответы [ 2 ]

8 голосов
/ 27 мая 2011

Две вещи, которые вы указали, совсем не эквивалентны.

MySQL SQL_NO_CACHE НЕ мешает движку использовать кэшированные данные. Это означает, что запрос не кэшируется в MySQL кеш запроса .

Кеш запросов отличается от любого дискового кеша, который может быть у движка, поскольку он кэширует результаты запросов, а не блоки с диска (или строки из таблицы и т. Д.). Таким образом, он кэширует результаты текстового оператора.

Причиной использования SQL_NO_CACHE является то, что вы знаете, что будете выполнять редко используемый запрос, который возвращает много данных (следовательно, занимал бы много места в кэше).

Но большинству установок MySQL теперь рекомендуется отключать кэш запросов, чтобы освободить память для кэшей страниц и т. Д. (См. http://dom.as/tech/query-cache-tuner/)

2 голосов
/ 27 мая 2011

Нет необходимости, кеш в PostgreSQL работает совсем по-другому и на 100% надежен.

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