1:DELETE FROM table_name;
可用性非常差,会消耗大量时间和日志空间
2:ALTER TABLE table_name activate NOT logged initilly;
DELETE FROM table_name;
不记录日志删除数据,可用,但比较麻烦,两条sql必须在同一个事务中执行;
3:ALTER TABLE table_name activate NOT logged WITH empty TABLE;
修改表不记录日志方式
4:LOAD FROM empfile_name of del REPLACE INTO table_name;
load的replace方式,比方法3可控,因为load支持restart和terminate等故障控制选项。
empfile_name为空的文件。有可能会返回3107[文件不存在需要注意]
可用性非常差,会消耗大量时间和日志空间
2:ALTER TABLE table_name activate NOT logged initilly;
DELETE FROM table_name;
不记录日志删除数据,可用,但比较麻烦,两条sql必须在同一个事务中执行;
3:ALTER TABLE table_name activate NOT logged WITH empty TABLE;
修改表不记录日志方式
4:LOAD FROM empfile_name of del REPLACE INTO table_name;
load的replace方式,比方法3可控,因为load支持restart和terminate等故障控制选项。
empfile_name为空的文件。有可能会返回3107[文件不存在需要注意]
本文介绍了几种在SQL中批量删除数据的方法,包括直接使用DELETE语句、通过ALTERTABLE指令改变表的日志记录方式以及利用LOADFROM命令进行数据替换。每种方法都有其适用场景和优缺点。
5503

被折叠的 条评论
为什么被折叠?



