У меня есть два сервера MySQL, настроенные в настройке репликации с несколькими мастерами. Каждый является рабом и господином для другого. Моему приложению требуется, чтобы некоторые большие запросы выполнялись в фоновом режиме, а результаты этих запросов использовались для заполнения таблицы. Я подумал, что могу запускать эти большие запросы на одном сервере, а внешний интерфейс приложения использовать другой. Таким образом, приложение не будет замедляться, пока сервер выполняет эти запросы.
Эти запросы очень большие INSERT .... SELECT
. С моей настройкой репликации кажется, что когда один сервер завершает запрос, вместо того, чтобы просто отправлять INSERT подчиненному, он запускает исходный большой INSERT/SELECT.
Это происходит на самом деле? Или есть способ узнать, какие команды были отправлены ведомому от ведущего, чтобы убедиться, что это поведение? Единственное, что я могу сказать, это от загрузки процессора.
Есть ли способ для ведомого устройства получить результат INSERT только из команды INSERT... SELECT, запущенной на ведущем устройстве?