2012-02-20 2 views
0

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

После расследования. Оказывается, 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

Укажите название вопроса, пожалуйста, –

+0

Возможный дубликат [кеша запросов не работает] (http://stackoverflow.com/questions/7155373/query-cache-doesnt-work) –

ответ

1

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

+0

извините, когда я сказал «текущий использование бара ". Я смотрел «Системный монитор» в гноме. Я проверил «верх», и он показывает самое высокое использование на 5%, которое является mysql. В этом списке нет монго. Спасибо за объяснение результата буферов/кешей. Все работает быстро и отлично. Меня просто касается того, что частота попадания в запрос-кэш настолько низка. Я буду смотреть на то, что оптимальная настройка для mongodb. – RichardW11

+0

Я нашел проблему с Дериком. Спасибо за помощь. – RichardW11

Смежные вопросы