Лучшие практики MySQL для использования SQL_CACHE и SQL_NO_CACHE - PullRequest
12 голосов
/ 26 декабря 2011

MySQL позволяет нам создавать операторы выбора с использованием опций SQL_CACHE и SQL_NO_CACHE. Эти параметры влияют на кэширование результатов запроса в кеше запросов. Но для каких запросов лучше использовать опцию SQL_CACHE, а для какой SQL_NO_CACHE? Или, может быть, лучше его вообще не использовать?

Ответы [ 3 ]

13 голосов
/ 26 декабря 2011

Как правило, вы не должны использовать это вообще. SQL_CACHE необходимо только в том случае, если запросы не кэшируются по умолчанию, то есть в конфигурации по умолчанию. SQL_NO_CACHE полезно, если вы знаете, что конкретный запрос больше не будет использоваться в ближайшем будущем, особенно если набор результатов большой. Цель состоит в том, чтобы избежать загромождения кэша результатами, которые больше не понадобятся.

5 голосов
/ 28 июля 2012

Я использую SQL_NO_CACHE при отладке скорости запроса.

0 голосов
/ 23 марта 2018

Прежде всего, вам необходимо обновить файл my.cnf (LINUX) или my.ini (WINDOWS).

query_cache_type = 2

если значение равно 2, то оно по требованию, что означает, что у вас есть доступная опция для использования SQL_CACHE в результате запроса, который вы хотите кэшировать.

если это 0, то кеш запросов не активируется.

если это 1, все запросы кэшируются в базе данных. Если вы не хотите кэшировать некоторые конкретные запросы, вы можете использовать SQL_NO_CACHE .

Но вы должны заметить, что результат кэширования запросов будет недействительным, если ваша таблица будет часто обновляться.

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