建立及管理記憶體最佳化物件的儲存體

適用於:SQL ServerAzure SQL DatabaseAzure SQL 受控執行個體

記憶體內 OLTP 引擎已整合到 SQL Server 中,讓您在同一資料庫中可擁有經記憶體最佳化的資料表和 (傳統) 磁碟型資料表。 不過,記憶體最佳化資料表的儲存體結構和磁碟資料表不同。

磁碟資料表的儲存體有下列索引鍵屬性︰

  • 對應至檔案群組,且檔案群組包含一或多個檔案。

  • 每個檔案會分成 8 頁的範圍,每頁大小為 8K 位元組。

  • 範圍可以跨多個資料表共用,但配置的頁面和資料表或索引之間有 1 對 1 的對應。 換句話說,一頁中的資料列不能來自兩個或多個資料表或索引。

  • 資料會依需要移入記憶體 (緩衝集區),已修改或新建的頁面則非同步寫入大部分產生隨機 IO 的磁碟。

記憶體最佳化資料表的儲存體有下列索引鍵屬性︰

  • 所有記憶體最佳化資料表都會對應到記憶體最佳化資料檔案群組。 這個檔案群組使用的語法和語意與 Filestream 相類似。

  • 沒有頁面,且資料以資料列保存。

  • 記憶體最佳化資料表的所有變更,都會以附加至使用中的檔案方式儲存。 讀取和寫入檔案都會循序進行。

  • 更新的實作方式為先插入再刪除。 刪除的資料列不會立即從儲存體移除。 刪除的資料列是根據 記憶體最佳化資料表的持久性中所述的原則,由背景處理序 MERGE 移除。

  • 和磁碟資料表不同,記憶體最佳化資料表的儲存體不壓縮。 將壓縮的 (資料列或頁面) 磁碟資料表移轉至記憶體最佳化資料表時,您必須考量大小的變更。

  • 記憶體最佳化資料表可以是耐久的,也可以是非耐久的。 您只需要為耐久的記憶體最佳化資料表設定儲存體。

本節將描述檢查點檔案組,以及有關記憶體最佳化資料表中資料的儲存方式等其他方面。

本節主題:

另請參閱

In-Memory OLTP (記憶體中最佳化)