我们有一个 COTS 产品,它创建了一个非常大的事务日志表。它有一个单一的聚集索引,支持声明为键的 IDENTITY 列。昨晚重建了索引,服务器磁盘空间不足,所以我从上午 12:30 开始工作。
现在我想知道 SQL Server 在重建此索引时是否会执行任何操作?没有叶子页面或页面拆分,因为所有插入都进入最后一页。我们从不删除行(无论如何还没有)。
显然服务器试图做某事,但如果它成功了,桌子会有什么不同吗?我认为这只是一个巨大的空操作和浪费时间。显然,如果表也具有非聚集索引,则情况并非如此。实际上,如果这个表确实有额外的索引,它仍然不需要先重建主索引,如果像我们的表一样,它只是添加,对吗?
我的 DBA 说他在数据库级别而不是在表级别管理所有索引。
附加信息
我的假设是重建后磁盘上的页面看起来和以前一样,我们只是在浪费时间进行数据库改组。