想从mysql数据库表中删除一半的记录?

Pan*_*ank 4 mysql

我有一张记录数量不明的表.我想删除一半的记录.我不关心删除哪些记录.什么是最有效的方法?

Gre*_*ill 18

delete from some_table where rand() < 0.5;
Run Code Online (Sandbox Code Playgroud)

这将删除大约一半的记录,大多数时间.

  • 我认为这是最好的解决方案(如果你有一个auto_incremented主键)DELETE FROM`silkodelete` WHERE id%2 = 0 (5认同)