很多时候,我们经常使用sp_spaceused来查看表的空间使用情况,上个月群里有个网友说他使用DELETE删除了数据后,使用sp_spaceused查看,发现该表的分配的空间总量(reserved)与数据使用的空间总量(data)没有变化,当时和他讨论了并分析了一下原因,随手记录了一下这个案例,这个周末刚好有点时间,正好分析整理一下这个案例、分享在这篇文章。如下所示,我们先构造数据,我们的测试案例比较极端,刚刚保证每个页面(page)刚好存储两条记录。如下所示:

 

 

USE Test ;
GO
 
CREATE TABLE space_test
(
    id        INT,
    name    VARCHAR(4000)
)
GO
SET NOCOUNT ON;
Go
DECLARE @Index INT ;
SET @Index = 1;
WHILE @Index <= 10000
BEGIN 
    INSERT INTO dbo.space_test
    SELECT @Index, REPLICATE(N'k', 4000);
 
    SET @Index += 1;
END

相关文章:

  • 2021-08-28
  • 2021-05-30
  • 2021-08-26
  • 2021-11-16
  • 2021-11-24
猜你喜欢
  • 2022-03-02
  • 2021-06-30
  • 2022-12-23
  • 2022-12-23
  • 2022-01-31
  • 2021-07-29
  • 2021-07-30
相关资源
相似解决方案