高度扫描​​碎片但低逻辑扫描碎片

时间:2015-04-09 21:25:35

标签: sql-server database-fragmentation

我还是SQL Server新手,当我在桌面上运行DBCC SHOWCONTIG时,它显示逻辑扫描碎片不大但是扩展扫描碎片很大,这让我有点困惑。

    DBCC SHOWCONTIG scanning 'User' table...
    Table: 'User' (462624691); index ID: 1, database ID: 6
    TABLE level scan performed.
    - Pages Scanned................................: 2638
    - Extents Scanned..............................: 335
    - Extent Switches..............................: 578
    - Avg. Pages per Extent........................: 7.9
    - Scan Density [Best Count:Actual Count].......: 56.99% [330:579]
    - Logical Scan Fragmentation ..................: 12.93%
    - Extent Scan Fragmentation ...................: 94.03%
    - Avg. Bytes Free per Page.....................: 805.1
    - Avg. Page Density (full).....................: 90.05%
    DBCC execution completed. If DBCC printed error messages, contact your system administrator.

Manual on MSDN看,一个是关于页面上的碎片,另一个是关于范围的。还有其他区别吗?当扩展扫描碎片仍然很高时,逻辑扫描碎片怎么样?

当我们谈论"外部碎片"时,它与"逻辑扫描碎片"更相关。在结果或"范围扫描碎片"在SHOWCONTIG的结果?

真的很感激任何答案。

1 个答案:

答案 0 :(得分:2)

我认为您对测量碎片很感兴趣,因为您希望优化顺序扫描速度。

据我所知,所有关于范围的数字都没有意义。对于顺序扫描速度而言,重要的是页面级度量标准,因为性能取决于页面的读取方式。

这里有趣的数字是" Logical Scan Fragmentation"因为这是磁盘搜索的页面的百分比,最有可能需要到达下一页。 13%意味着每6页中大约有一次物理读取位置发生变化。

  

当扩展区扫描碎片仍然很高时,逻辑扫描碎片怎么样?

如果存在100%范围碎片,则每个范围仍然可以有8个连续页面,因此逻辑碎片可能低至12.5%。

可能你不应该使用SHOWCONTIG但是使用碎片DMV。