#java #database #spring-boot #mysql-5.7
Вопрос:
Я использую микрослужбы spring boot с java 1.8. Версия Mysql 5.7.2. Есть несколько вызовов, как показано ниже — SELECT SQL_NO_CACHE * FROM schema_name.table_name;
. После анализа я узнал, что эти запросы попадают в рабочие узлы, на которых выполняется приложение. Насколько я понимаю, по умолчанию mysql кэширует запросы select и их результаты. Таким образом, при следующем же выполнении запроса данные будут извлечены из кэша, а не из базы данных. Здесь, поскольку CAHCE НЕ указан, каждое попадание будет отправляться в базу данных.
Нигде в коде этот запрос не выполняется. Затем, откуда этот запрос вызывается. Является ли это внутренним для JPA или mysql?. Не могли бы вы, пожалуйста, провести меня сюда.
mysql> SHOW VARIABLES LIKE '%query_cache%';
------------------------------ ---------
| Variable_name | Value |
------------------------------ ---------
| have_query_cache | YES |
| query_cache_limit | 1048576 |
| query_cache_min_res_unit | 4096 |
| query_cache_size | 1048576 |
| query_cache_type | OFF |
| query_cache_wlock_invalidate | OFF |
------------------------------ ---------
6 rows in set (0.00 sec)