小编Sof*_*ion的帖子

tsql:大行删除后表数据大小不会缩小

我有一个包含 12 个月以上数据的表格。我备份表然后删除所有行,只保留上个月插入的行。但是表大小不会缩小,底层物理文件也不会缩小。

dbcc showcontig ('mytable') with tableresults;

ObjectName  ObjectId    IndexName   IndexId Level   Pages   Rows    MinimumRecordSize   MaximumRecordSize   AverageRecordSize   ForwardedRecords    Extents ExtentSwitches  AverageFreeBytes    AveragePageDensity  ScanDensity BestCount   ActualCount LogicalFragmentation    ExtentFragmentation
mytable 478624748   PK_Log  1   0   21344   467392  94  8033    237 0   2675    12918   2862,346    64,6361996540647    20,6517532316743    2668    12919   77,8392053973013    71,7757009345794


exec sp_spaceused 'mytable', @updateusage = 'TRUE'

name    rows    reserved    data    index_size  unused
LogTrace    467392      8984976 KB  8930056 KB  21984 KB    32936 KB
Run Code Online (Sandbox Code Playgroud)

这些值意味着表的每一行大约是 19MB!

我尝试在没有更改的情况下重建索引:ALTER INDEX PK_myindex ON mytable REBUILD

我尝试过的其他事情:

select …
Run Code Online (Sandbox Code Playgroud)

sql-server maintenance dbcc

5
推荐指数
1
解决办法
4873
查看次数

标签 统计

dbcc ×1

maintenance ×1

sql-server ×1