我试图更好地了解DELETE和TRUNCATE命令之间的差异。我对内部结构的理解大致如下:
DELETE
TRUNCATE
DELETE-> 数据库引擎从相关数据页和输入该行的所有索引页中查找并删除该行。因此,索引越多,删除所需的时间就越长。
TRUNCATE -> 简单地删除所有表的数据页,使其成为删除表内容的更有效选项。
假设以上是正确的(如果不正确,请纠正我):
sql-server database-internals
database-internals ×1
sql-server ×1