sql-server - sql查询中的截断和删除命令有什么区别

标签 sql-server

<分区>

Possible Duplicate:
What’s the difference between TRUNCATE and DELETE in SQL

sql查询中truncate和delete命令有什么区别

最佳答案

Delete 将每一行标记为已删除(幽灵记录)并在事务日志中记录正在删除的单个行(在完全记录模式下)或将页面标记为已更改(在批量记录模式下)。 Delete 允许使用 where 子句,允许删除、过滤行。

Truncate 删除表中指向 IAM 的链接并将其丢弃在地板上,记录(批量和完整)它丢弃 IAM 的事实,从而释放空间。截断删除表的所有行,并且不能被过滤。

关于sql-server - sql查询中的截断和删除命令有什么区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2229329/

相关文章:

sql - 将 FK/约束添加到表的子部分

mysql - 连接后另一个表的第二低值

sql-server - 在不同级别交叉应用

sql-server - SQL Server 2008 : Getting deadlocks. ..没有任何锁

sql-server - 从 azure sql 调用 Web 服务的最佳方法是什么?

sql-server - 列名无效 "USER_SOURCE"

sql-server - 按由另一列分组的一列的最低值排序

sql - 在 SQL Server 中执行列值

sql - 使用变量和索引的 T-SQL LIKE

sql - 当分区更改时,对记录进行分组并以奇数开始行号