栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

mysql / sqlserver中截断与删除的比较[重复]

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

mysql / sqlserver中截断与删除的比较[重复]

删除

  1. DELETE是DML命令。
  2. 使用行锁执行DELETE语句,表中的每一行都被锁定以进行删除。
  3. 我们可以在where子句中指定过滤器
  4. 如果存在条件,它将删除指定的数据。
  5. 删除激活触发器,因为该操作是单独记录的。
  6. 比截断慢,因为它保留日志。
  7. 可以回滚。

截短

  1. TRUNCATE是DDL命令。
  2. TRUNCATE TABLE始终锁定表和页面,但不锁定每一行。
  3. 无法使用Where条件。
  4. 它删除所有数据。
  5. TRUNCATE TABLE无法激活触发器,因为该操作不会记录单个行的删除。
  6. 在性能上更快,因为它不保留任何日志。
  7. 可以回滚。

  8. 与TRANSACTION一起使用时,DELETE和TRUNCATE都可以回滚(TRUNCATE可以在SQL Server中回滚,但不能在MySQL中回滚)。

  9. 如果存在具有自动递增的PK,则truncate将重置计数器

http://beginner-sql-tutorial.com/sql-delete-statement.htm



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/398873.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号