Скажите ядру Linux помещать файл в дисковый кэш?

AFAIK mysql автоматически истекает, это - кэши, когда таблица изменяется (вставляет, обновления, delete's, и т.д.),

mysql обычно кэшируют его сразу же на основе query_cache_limit и размера, значение по умолчанию query_cache_limit 1M поэтому, если отдельный запрос идет больше затем, что это не будет кэшироваться, если Вы не измените его.

Необходимо удостовериться, что запрос является iquals также, так как он учитывает чувствительные к регистру запросы.

Кроме этого можно использовать следовать команду для контроля его:

SHOW STATUS LIKE '%qcache%';

Так, например, составьте таблицу с некоторыми записями и работайте:

SELECT id,name FROM my_table WHERE id > '2'; SHOW STATUS LIKE '%qcache%';

Вы будете замеченный что количество запросов, кэшируемых увеличенный на 1, теперь выполнять тот же выбор снова, и Вы будете видеть, что mysql уже будет использовать кэш, и результат произойдет намного быстрее.

ДОПОЛНИТЕЛЬНАЯ ИНФОРМАЦИЯ

Сначала необходимо удостовериться, что Вы имеете query-cache-type = 1 в Вашем my.cnf или my.ini в зависимости от ОС/установки.

От mysql можно выполнить следовать команду для проверки состояния его:

SHOW VARIABLES LIKE '%query_cache%';

При списке данных Вы будете видеть размер кэша запроса, если это будет установлено на 0, это означает, что Ваш кэш запроса отключен, эта переменная определяет память, в байтах, используемых для кэша запроса.

Таким образом, когда Вы сделали для типа кэша запроса, добавьте следующее к своему my.cnf или my.ini:

query-cache-size = 40M

3
задан 10 July 2012 в 12:14
2 ответа

Небольшая программа, которая mmap () редактирует файл с установленным флагом MAP_LOCKED , поможет. Вам необходимо запустить эту программу от имени пользователя root или пользователя со значением RLIMIT_MEMLOCK , превышающим размер файла, который вы хотите сопоставить.

Как упоминалось в SaveTheRbtz , vmtouch имеет встроенную возможность. В справочной странице говорится, что vmtouch -l / some / file поможет.

5
ответ дан 3 December 2019 в 04:59

Если вы действительно контролируете локальную среду, это строго, простой cat $ file> / dev / null должно быть достаточно. Это совершенно недетерминировано, когда удаление кеша удаляет этот файл, но если у вас много ОЗУ и никто не использует его, его следует сохранить.

Если есть надежный и детерминированный способ сохранить файл в кеше - не знаю. ..

4
ответ дан 3 December 2019 в 04:59

Теги

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