2011-01-19 29 views
1

我正在對倉庫中的極大事實表進行表分區。我已經用幾種不同的方式執行了腳本。有和沒有非聚集索引。使用索引時,它似乎極大地擴展了日誌文件,而沒有非聚簇索引時,它似乎沒有儘可能多地擴展日誌文件,但由於重建索引需要更多的時間來運行。SQL Server表分區,幕後發生了什麼?

我正在尋找的是關於分割表分區時特定於日誌文件背後發生的情況的任何鏈接或信息。

回答

0

我認爲這不是很難理論化正在發生的事情(在某種程度上)。在幕後,每個分區都被賦予不同的HoBT,這在正常語言中意味着每個分區實際上都坐在它自己的隱藏表上。

所以理論化一個分區(假設數據移動時)的分裂將涉及:

  • 從舊錶中的數據插入到新表
  • 移除數據

的NC可以計算出指數,但取決於是否存在聚集指數,理論化將會改變。索引是否分區對齊也很重要。

鑑於在桌上(CL或堆)如果分區功能在 分區使用一個 分區表和SPLIT結果,其中既包含 我們可以推論這進一步

0

更多的信息數據,SQL Server會將數據移動到 的新分區。此數據移動 將導致事務日誌增長,因爲要插入和刪除 。

這是從Partitioned Table and Index Strategies

文章由微軟所以看起來像它做舊分區刪除和並插入到新的分區。這可以解釋t日誌的增長。