特殊的資料表類型
除了基本使用者自訂資料表的標準角色之外,SQL Server 還提供了在資料庫中具有特殊用途的下列資料表類型:
資料分割資料表
暫存資料表
系統資料表
寬型資料表
資料分割資料表
資料分割資料表的資料會水平劃分成數個單元,分散於資料庫中的多個檔案群組。分割使大型資料表或索引的管理更為容易,這是因為您可以快速有效地存取或管理資料的子集,同時維持整體集合的完整性。在分割狀況下,許多作業 (例如將資料從 OLTP 載入 OLAP 系統) 只要幾秒鐘的時間即可完成,而非舊版中的幾分鐘甚至幾小時的時間。在資料子集上執行的維護作業也將會更有效率,因為它們只處理所需的資料,而非整個資料表。
如果資料表非常大或預期會變得非常大,而且又符合下列其中一項條件,那麼分割資料表才有意義:
資料表包含 (或預期會包含) 許多以不同方式使用的資料。
對資料表執行的查詢或更新效能不如預期,或是維護成本超過預先定義的維護期間。
資料分割資料表支援所有與設計和查詢標準資料表相關聯的屬性和功能,包括條件約束、預設值、識別與時間戳記值、觸發程序和索引。因此,如果您想要實作一部伺服器的本機資料分割檢視,應該改以實作資料分割資料表。如需詳細資訊以協助您了解、設計並實作資料分割資料表,請參閱<資料分割資料表與索引>。
暫存資料表
暫存資料表有兩種:區域與全域。只有在第一次建立或參考本機暫存資料表時連接到 SQL Server 執行個體的資料表建立者,才看得到該資料表。當使用者中斷與 SQL Server 執行個體的連接後,本機暫存資料表就會被刪除。全域暫存資料表則是在建立好之後,任何用者和任何連接都看得到它們,而且當參考資料表的所有使用者都中斷與 SQL Server 執行個體的連接之後,才會將全域暫存資料表刪除。
如需暫存資料表的詳細資訊,請參閱<建立與修改資料表的基本概念>。
系統資料表
SQL Server 將伺服器組態及其所有資料表的定義資料儲存在一組特殊資料表中,稱為系統資料表。除非透過專用管理員連接 (DAC),否則使用者不能直接查詢或更新系統資料表,而專用管理員連接只應在 Microsoft 客戶服務人員的指示下使用。如需詳細資訊,請參閱<使用專用管理員連接>。在每個新版的 SQL Server 中,系統資料表通常會有所變更。直接參考系統資料表的應用程式可能必須經過重寫,才能升級至使用不同版本系統資料表的新版 SQL Server。系統資料表中的資訊可透過目錄檢視取得。如需詳細資訊,請參閱<系統資料表 (Transact-SQL)>。
重要事項 |
---|
為了 SQL Server 2008 的回溯相容性目的,SQL Server 2008 Database Engine 系統資料表已實作成為唯讀檢視表。您不能直接使用這些系統資料表中的資料。建議您使用目錄檢視來存取 SQL Server。 |
寬型資料表
寬型資料表是指已定義了資料行集的資料表。寬型資料表會使用疏鬆資料行,將資料表可以包含的資料行總數增加至 30,000。索引和統計資料的數目也會分別增加至 1,000 和 30,000。寬型資料表資料列的大小上限為 8,019 個位元組。因此,任何特定資料列中的大部分資料應該是 NULL。若要在寬型資料表中建立或變更資料表,您可以將資料行集加入至資料表定義。在寬型資料表中,非疏鬆資料行加上計算資料行的數目上限仍然是 1,024。
您可以使用寬型資料表,在應用程式中建立彈性的結構描述。每當您想要加入或卸除資料行時,就可以這樣做。請記住,使用寬型資料表具有獨特的效能考量,例如增加執行階段和編譯階段的記憶體需求。如需詳細資訊,請參閱<寬型資料表的效能考量>。