截断表命令 truncate

SQL格式:truncate table [TableName]

-- 示例
truncate table user_account;

截断表返回值说明

  • 注意截断表操作返回值都是是0。
  • 在Mybatis是update标签执行截断表。
  • 不建议以返回值判定truncate执行结果为准!不同SQL产品或版本可能会有差异。只要不抛异常,我们就判定执行成功!
    <update id="truncate">
        truncate table user_account
    </update>

删除表 delete

SQL格式:delete from [TableName]

-- 示例
delete from user_account

SQL执行结果是删除操作影响的条数!

两种清空表操作的对比

语句类型性能主键返回值可否恢复触发器影响
truncate 截断DDL嘎嘎快清零0否,不记录binlig不会触发
delete 删除DML全表扫描,binlog记录。死慢保留,续增影响条数可恢复,删除记录的binlog

截断表:性能快。重置表后,主键序号清零。返回值都是0。binlog不记录。无法恢复

删除表:性能慢,要全表扫描,重置标后,主键序号保留。返回值是删除条数。binlog记录,可以恢复

特殊说明:
上述文章均是作者实际操作后产出。烦请各位,请勿直接盗用!转载记得标注原文链接:www.zanglikun.com
第三方平台不会及时更新本文最新内容。如果发现本文资料不全,可访问本人的Java博客搜索:标题关键字。以获取最新全部资料 ❤