SQL Server中sp

  • 时间:
  • 浏览:0
  • 来源:uu直播快3平台_UU快3直播官方

如下截图所示,而且 人 删除了300000条记录,还剩下300000条记录,日后 该表的分配的空间总量(reserved)与数据使用的空间总量(data)没办法 变化,依然是30008KB和30000KB

接下来而且 人 删除了id为偶数的记录。

而且 人 知道sp_spaceused的精确单位是页。它是根据sys.allocation_units 和sys.partitions 这两张管理视图来计算存储空间的。有前一天,这两张表前一天非要及时反映出数据的准确信息。能非要通过updateusage有一种参数,要求SQL Server为有一种指令更新管理视图里的统计信息。日后 有一种案例中,sp_spaceused不准确的是因为并都不 前一天这两张表没办法 及时反映出数据的准确信息,日后 实验中按照特殊规律,在每一页都删除十根记录,保留十根记录,是因为每一页上释放了接近一半的空间,日后 页的填充程度接近3000%,从而冒出页面碎片化非常严重的情况报告,而sp_spaceused的精确单位是页,从就是因为有一种特殊的情况报告冒出。

删除后

而且 人 删除了一半记录,照理说,数据使用的空间总量(data)应该变化了。没办法 我使用DBCC SHOWCONTIG('space_test')来看看,如下截图所示,

让我发现每页的平均可用字节数(Avg. Bytes Free per Page) 和平均页密度(满)(Avg. Page Density (full))冒出了变化。如下对比所示:

DELETE dbo.space_test WHERE id %2=0

49.62%

统统前一天,而且 人 经常 使用sp_spaceused来查看表的空间使用情况报告,上个月群里有个女前前男友说他使用DELETE删除了数据后,使用sp_spaceused查看,发现该表的分配的空间总量(reserved)与数据使用的空间总量(data)没办法 变化,当时和他讨论了并分析了一下是因为,随手记录了一下有一种案例,有一种周末刚好一阵一阵时间,正好分析挂接一下有一种案例、分享在这篇文章。如下所示,而且 人 先构造数据,而且 人 的测试案例比较极端,前一天保证每个页面(page)刚好存储两条记录。如下所示:

99.23%

Avg. Bytes Free per Page

删除前

原文:

4077.8

Avg. Page Density (full)

随便说说有一种倒没办法 必要大惊小怪,有一种空间随便说说没办法 释放,日后 下次依然能非要再次利用,就好比一列火车,每节车厢只载了一半乘客,上面的路程中,能非要继续往上面加入新的乘客。如下所示而且 人 插入300000条记录,让我发现页的平均密度变化了,前一天空闲的空间被重新利用了。

62

EXEC sp_spaceused 'dbo.space_test'