Я пытался найти это, но я также не смог найти авторитетный ответ.
- Я посмотрел в руководстве, как и вы.
- Я нашел документацию по внутренним компонентам MySQL на
FLUSH TABLES
, но в ней ничего не сказано.
- Я даже прочитал исходный код в
mysql_server/sql/sql_base.cc
, но не смог быстро найти ответ.
Я предполагаю, что ответ является одной из тех вещей, которые разработчики считают настолько очевидными, что им никогда не нужно это говорить.
Согласно внутреннему документу, кеш таблиц MySQL содержит список самых последних использованных таблиц. Нет никакого упоминания о кешах таблиц, специфичных для базы данных, в MySQL Server, похоже, есть только один кеш таблиц.
FLUSH TABLES
описывается как принудительное закрытие всех открытых таблиц (находящихся в кэше таблиц). Не упоминается, что это ограничено одной базой данных, но вы можете указать отдельные таблицы в аргументах FLUSH TABLES
. Таким же образом, я предполагаю, что по умолчанию это относится ко всему кешу таблиц и, следовательно, ко всем базам данных с открытыми файлами на MySQL Server.