【问题标题】:Does Index Fragmentation of an Unused Table Increases?未使用表的索引碎片是否增加?
【发布时间】:2018-05-16 09:44:10
【问题描述】:

我是SQL Server数据库的新手,版本是SQL Server 2017。我想知道,长期不用的表的索引碎片会不会时常增加?

*Long-time-unused table是指该表长时间没有活动,没有对该表进行插入、更新、删除。

如果答案是肯定的,是否有任何原因导致这种情况?

谢谢:)

【问题讨论】:

  • "版本是 SQL Server 2017" 那你为什么标记sql-server-2008而不是sql-server-2017? :)
  • 没有。修改数据时会发生碎片。为什么这个问题?您是否遇到问题并认为碎片化是问题所在?
  • 缩小数据文件会增加碎片。
  • 不错的想法@MJH。听到 OP 缩小了数据库不会感到惊讶;这可能会导致不仅仅是“未使用”表的碎片。
  • @Larnu 谢谢,您可以通过指定TRUNCATEONLY 选项来避免碎片化。

标签: sql-server ssms sql-server-2017


【解决方案1】:

有两种类型的碎片 - 内部(页面完整)和外部(页面排序)。

缩小数据文件会增加整个数据库的外部碎片,您可以使用TRUNCATEONLY 选项来避免它,请参见以下链接:

https://www.mssqltips.com/sqlservertip/4368/execute-sql-server-dbcc-shrinkfile-without-causing-index-fragmentation/

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-03-01
    • 1970-01-01
    • 1970-01-01
    • 2020-05-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多