寬表的性能注意事項
https://technet.microsoft.com/zh-CN/library/cc645884
寬表為具有列集的表。當使用寬表時波闹,請牢記以下性能注意事項:
寬表最多可以定義 30,000 列意蛀。這會增加維護表的索引的開銷伶授。定義的非聚集索引應當為應用到數(shù)據(jù)子集的篩選索引。有關(guān)詳細信息呵俏,請參閱篩選索引設計準則铆惑。
應用程序可以在寬表中動態(tài)添加和刪除列范嘱。當添加或刪除列時送膳,已編譯的查詢計劃也將作廢。我們建議您設計與預定工作負荷相匹配的應用程序丑蛤,以便使架構(gòu)更改降至最少叠聋。
當在寬表中添加和刪除數(shù)據(jù)時,性能會受到影響盏阶。必須針對預定工作負荷設計應用程序晒奕,以便使對表數(shù)據(jù)所做的更改降至最少。
我們建議將寬表的索引數(shù)限制為業(yè)務邏輯所需的索引數(shù)名斟。索引數(shù)增加,DML 編譯時和內(nèi)存需求也會增加魄眉。
限制對寬表執(zhí)行用于更新聚集鍵的多個行的 DML 語句砰盐。編譯和執(zhí)行這些語句會需要非常多的內(nèi)存資源。
對寬表執(zhí)行切換分區(qū)操作可能會很慢坑律,并可能需要大量的內(nèi)存才能加以處理岩梳。性能和內(nèi)存需求與源分區(qū)和目標分區(qū)中的列數(shù)成比例。
用于更新寬表中特定列的更新游標應在 FOR UPDATE 子句中顯式列出這些列晃择。這將有助于優(yōu)化使用游標時的性能冀值。
請參閱
參考
SQL Server 的最大容量規(guī)范