MySQL Query Cache не работает на определенных таблицах - правильные настройки - PullRequest
0 голосов
/ 20 февраля 2012

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

После расследования. Оказывается, MySQL 5.5 не будет кэшировать запрос, в котором есть таблица с «черточкой».

Select id FROM `table-name` WHERE `id` = 1; 

Однако вы увидите Qcache_queries_in_cache, и Qcache_hits работает по вашему желанию, когда вы переименовываете таблицу без тире.

Select id FROM `tablename` WHERE `id` = 1;

Подчеркивает также работает.

1 Ответ

1 голос
/ 20 февраля 2012

Я понятия не имею, что означает «текущее использование оперативной памяти», но MongoDB и MySQL будут пытаться захватить столько ресурсов, сколько смогут. Лучший способ увидеть, что происходит, - посмотреть на вывод «top» для MySQL и MongoDB. Однако в «свободном» выводе вы видите, что ваша машина зарезервировала 12417480 (12 ГБ) для кэшей. Что вполне вероятно, что операционная система зарезервировала для файлов отображения памяти MongoDB. Я не знаю ваш запрос загрузки или шаблоны доступа к данным, поэтому не могу сказать, что здесь происходит. Вы также можете проверить в файле mongodb.log, чтобы увидеть, есть ли у вас медленные запросы.

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