Одна из стратегий, которую я использую для подобных запросов, состоит в том, чтобы не допускать их в двоичном журнале и запускать их отдельно на главном сервере репликации и ведомом (ах) репликации.Таким образом, они не будут блокировать репликацию, при условии, что удаление не вызывает никаких блокировок, которые блокируют другие операторы.
Для этого вам нужно запускать команды как пользователь с привилегией SUPER, и вам нужнобудьте осторожны, чтобы убедиться, что вы удаляете одни и те же данные на главном и подчиненном устройствах, чтобы избежать несоответствия, но это может быть очень полезным методом.
Ключом является использование * 1006.* настройка для отключения двоичного ведения журнала для сеанса, в котором вы запускаете удаление.
Например:
SET SQL_LOG_BIN = 0;
DELETE FROM tbl_sales_records WHERE salesFileNo = PassedInValue;
Или, если вы используете хранимую процедуру, вы все равно можете отключить двоичный файлведение журнала таким же образом:
SET SQL_LOG_BIN = 0;
CALL your_delete_proc();