2011-05-25 48 views
1

的主鍵後,這裏的情況:數據和索引的大小加倍更新表與數百萬行

使用SQL Server 2005中,我已經經歷了並更新了主鍵(一個char(16))幾個表格替換了前六個字符中的很大一部分。 (我正在做這個工作,作爲我工作中的數據清理項目的一部分)。

大多數這些表包含數百萬行,並且也可能有1或2個非聚簇索引。

完成這些更新後,數據和索引使用的數據頁似乎已經加倍,從而導致MDF的大小也增加了一倍。我已經通過檢查數據與原始數據庫的另一個副本(比如列數據類型,整理,已使用/保留/未使用的空間)進行了檢查,甚至創建/更新了所有數據的統計信息,然後對數據執行了縮減。沒有任何東西可以幫助或暗示增加規模的原因。順便說一下,兩個數據庫的行數是相同的,所以它不是重複的行或類似的東西。

我還沒有執行'dbcc checkdb'或重建索引 - 這些都是我最後的想法。有沒有人看過類似的東西?

TLDR - 數據庫MDF在更新數百萬行的幾個表的主鍵之後加倍。已經檢查過列數據類型,行數,數據/索引大小。更新統計信息並嘗試縮小。什麼都沒有HALP!

+1

你沒有改變實際字段的長度,對吧? – JNK 2011-05-25 16:27:16

+0

不,但那是我的第一個想法,爲什麼東西變得臃腫。結果發現它使用wayyyy太多的頁面是嚴重的碎片索引。 – CLR 2011-05-26 16:18:45

回答

2

您需要使用正常填充因子重建索引以確定您的頁面使用是否已被打亂。

+0

你確實是對的。數據庫重建後再縮小,數據庫幾乎是原來的一半。謝謝! – CLR 2011-05-26 16:18:56