怎么删除表的前 10000 行?
第一种方式,直接执行 delete from T limit 10000
第二种方式,在一个连接中循环执行 20 次 delete from T limit 500
第三种方式,在 20 个连接中同时执行 delete from T limit 500
如果是你会选择哪种?为什么?
- 分析
第一种方式(即:直接执行 delete from T limit 10000)里面,单个语句占用时间长,锁的时间也比较长;而且大事务还会导致主从延迟。
第三种方式(即:在 20 个连接中同时执行 delete from T limit 500),会人为造成锁冲突。
- 参考答案
第二种方式,即:在一个连接中循环执行 20 次 delete from T limit 500是相对较好的。