- 方案一:
delete from t limit 100000;
直接删除 - 方案二:
delete from t limit 1000;
在for循环中执行100次 - 方案三:在100个连接中同时执行
delete from t limit 1000;
前面有说到,要尽量避免长连接,方案一事务较长,占用锁时间长,可能会导致其他客户端连接等待资源时间过长,甚至还有可能导致主从延迟。方案二,串行化执行,把长事务划分成短事务,每次事务占用锁的时间会较短,其他连接等待时间也会相应缩短。将资源分片使用,每次执行使用不同片段(减小了锁粒度)的资源,可以提高并发性。方案三会人为造成锁冲突。