【问题标题】:SQL - Partitioning effect on indexes and Transaction logSQL - 分区对索引和事务日志的影响
【发布时间】:2012-07-09 18:38:08
【问题描述】:

问题:我想知道是否可以在不填满事务日志的情况下对表应用索引。

详细信息:我有一个 800GB 的表。几个月前,我去应用了一个索引并且交易日志填满了(出于显而易见的原因 - 我什至愚蠢地尝试它)。相反,我不得不重新创建表,应用我想要的索引,然后复制记录。

现在我们要在这张表上设置分区。我想知道是否删除聚集索引并在分区布局上应用新的聚集索引,如果它仍然会填满事务日志(假设我每个分区有 1000 万行)?或者 tlog 不会填满,因为索引也会被分区,这将允许 SQL 服务器更快地完成索引并能够检查点?

有人知道吗?否则我可以再次重新创建表并将分区内容应用到它并重新填充它,但显然这涉及更多。

谢谢!

【问题讨论】:

    标签: sql-server database-partitioning transaction-log reindex


    【解决方案1】:

    应用分区方案会产生巨大的日志,是的。

    首先,我建议您看看是否可以(如果可能)达到minimally logged operation。离线 CREATE INDEX 受最低限度的日志记录,前提是数据库处于批量记录模式。

    如果不可能(例如,需要完全恢复),我会考虑在线移动到分区表。在线操作是小批量操作并且经常提交。只要您经常备份日志,它就不会增长到那么大。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-10-04
      • 1970-01-01
      • 1970-01-01
      • 2013-07-30
      • 1970-01-01
      • 1970-01-01
      • 2012-09-11
      • 1970-01-01
      相关资源
      最近更新 更多