Я обнаружил очень медленный запрос MySQL в своем веб-приложении. Странно то, что запрос медленен только при первом выполнении, несмотря на то, что query_cache установлен по умолчанию (query_cache_size 0) примерно так:
mysql> show variables like 'query%';
+------------------------------+---------+
| Variable_name | Value |
+------------------------------+---------+
| query_alloc_block_size | 8192 |
| query_cache_limit | 1048576 |
| query_cache_min_res_unit | 4096 |
| query_cache_size | 0 |
| query_cache_type | ON |
| query_cache_wlock_invalidate | OFF |
| query_prealloc_size | 8192 |
+------------------------------+---------+
Еще более странная вещь состоит в том, что это ускорение сохраняется даже после того, как сервер MySQL был остановлен и перезапущен (я использую OSX, и выполняю этот перезапуск, используя панель системных настроек.) Единственный способ, которым я могу воссоздать плохое Выполнение начального запроса происходит путем перезагрузки системы.
Итак, мой вопрос: как это происходит? Очевидно какое-то кеширование на работе, но где? И как это сохраняется при перезапусках базы данных? Этот запрос передается через наше веб-приложение, которое поставляется через PHP / Apache, но дополнительных наворотов нет, и любопытное кэширование сохраняется и после перезапусков Apache.
Помощь