如果你要删除一个表里面的前 10000 行数据?怎么做比较好?

如果你要删除一个表里面的前 10000 行数据,有以下三种方法可以做到: 第一种,直接执行 delete from T limit 10000; 第二种,在一个连接中循环执行 20 次 delete from T limit 500; 第三种,在 20 个连接中同时执行 delete from T limit 500。 你会选择哪一种方法呢?为什么呢?

1 个回答

  • 东方朔
    重新审视自己,什么使你快乐,什么就是眼下最珍贵。
    第二种方式是相对较好的。 第一种方式(即:直接执行 delete from T limit 10000)里面,单个语句占用时间长,锁的时间也比较长;而且大事务还会导致主从延迟。 第三种方式(即:在 20 个连接中同时执行 delete from T limit 500),会人为造成锁冲突。
    发布于 2021-11-28 00:21 •IP属地 湖北
    举报
    评论
    收藏