Медленное удаление на объединенной таблице в mysql - PullRequest
0 голосов
/ 27 апреля 2020

Оператор удаления в объединенной таблице (на сервере A) занимает около 300 секунд (только 20 тыс. Строк), тогда как тот же оператор удаления занимает 0,3 секунды, вызванных для фактической таблицы (сервер B). Я не нахожу никакой документации или обсуждения, почему это будет иметь очень низкую производительность. Выбор в обеих таблицах (исходная и объединенная таблица) занимает одинаковое количество времени. Существует ли известная ошибка или причина, по которой удаление таблицы объединения является плохой идеей?

1 Ответ

0 голосов
/ 28 апреля 2020

FEDERATED не построен для скорости. На самом деле удаление может выполняться по одной строке за раз.

Если возможно, рассмотрите этот обходной путь:

На целевой машине создайте хранимую процедуру, которая выполняет DELETE. Создайте его на основе предоставленных параметров и сделайте так: SECURITY INVOKER.

Возможно MariaDB FEDERATEDX справляется с работой лучше.

...