假设我有一个名为Employee
的表,此表有百万条记录,然后我使用了以下查询:
Delete From Employee;
有一些事实:
1)所有行都将被删除。
2)与此表关联的所有数据页都将为空
3)这些空白页面未被释放。 (Truncate
正在这样做)
4)取决于此article,相关空间不能被数据库中的其他对象重用。
现在我的问题是......
新记录会发生什么,是保存在这些空闲页面中的新记录,或者sql server引擎创建了一个新的数据页面,用于插入操作,因为在删除过程之前有空闲页面。
我知道Delete
和Truncate
之间的差异,但如果之前有相同对象(表格)的免费数据页,我会对新记录感到困惑。