回复: SQL Server中,不加条件的delete操作,即清空表,对表的空间如何释放
这要看表是不是一个堆了。
就算在堆里删除了所有行,sql server也不会在GAM里把这些空闲页的标记改为示分配状态。这点你可以在sys.dm_db_partition_stats里看到,空间还是属于堆表的。
如果表不是堆,被删除的行的存储空间的第一个字节的第八位(bits 7)会被标识为1,即标识为虚影记录。在操作系统的低负荷情况下,sql server会真正的清除这些空间。当页里的行记录数为零时,整个页就会被回收(但如果这个页是表中的唯一分页则不会被回收)