Here is the brief description of the task: say, you have 2 MySQL
tables a and b. The tables contain the same
type of data, for example log entries. Now you want to delete all
or a subset of the entries in table a that exist in
table b.

Slave delay can be a nightmare. I battle it every day and know
plenty of people who curse the serialization problem of
replication. For those who are not familiar with it, replication
on MySQL slaves runs commands in series – one by one, while the
master may run them in parallel. This fact usually causes
bottlenecks. Consider these 2 examples:

Between 1 and 100 UPDATE queries are constantly running on
the master in parallel. If the slave IO is only fast enough to
handle 50 of them without lagging, as soon as 51 start running,
the slaves starts to lag.

A more common problem is when one query takes an hour to run
(let's say, it's an UPDATE with a big WHERE clause that doesn't
use an index). In this case, the query runs on the master for an
hour, which isn't a big problem because it doesn't block other
queries. However, when the query moves over to the slaves, all of
them start to lag because it plugs up the single …

Content reproduced on this site is the property of the respective copyright holders.
It is not reviewed in advance by Oracle and does not necessarily represent the opinion
of Oracle or any other party.