更新为具有数百万行的表中的主键后,数据和索引大小增加了一倍

问题描述

| 情况如下: 使用SQL Server 2005,我检查并更新了几个表中的主键(一个char(16)),用其他字符替换了前六个字符中的大部分。 (我的工作是作为数据清理项目的一部分进行的)。 这些表中的大多数包含数百万行,并且也可能具有1或2个非聚集索引。 完成这些更新后,数据和索引使用的数据页似乎已加倍,从而导致MDF的大小也加倍。我已经针对原始数据库的另一个副本检查了几件事,例如列数据类型,排序规则,已使用/已保留/未使用的空间,甚至还为所有内容创建/更新了统计信息,然后缩减了数据。没有任何帮助或暗示增加尺寸的原因。顺便说一下,两个数据库之间的行数是相同的,所以它不会重复行或类似的事情。 我尚未执行\'dbcc checkdb \'或重建索引-这是我最后的想法。有人看到过类似的东西吗? TLDR-更新具有数百万行的多个表的主键后,数据库MDF会加倍。检查了列数据类型,行数,数据/索引大小。更新了统计信息并尝试缩小。什么都没有。 !     

解决方法

您需要使用正常的填充因子重建索引,以确定您的页面使用是否受到干扰。     

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...