適用於:SQL Server
Azure SQL 資料庫
Azure SQL 受控執行個體
記憶體內 OLTP 引擎已整合到 SQL Server 中,讓您在同一資料庫中可擁有經記憶體最佳化的資料表和 (傳統) 磁碟型資料表。 不過,記憶體最佳化資料表的儲存體結構和磁碟資料表不同。
磁碟資料表的儲存體有下列索引鍵屬性︰
對應至檔案群組,且檔案群組包含一或多個檔案。
每個檔案分為八頁的範圍,每頁大小為 8 KB (8,192 位元組)。
範圍可以在多個資料表之間共用,但配置的頁面與資料表或索引之間具有一對一的對應關係。 換句話說,一頁中的資料列不能來自兩個或多個資料表或索引。
資料會依需要移入記憶體 (緩衝集區),已修改或新建的頁面則非同步寫入大部分產生隨機 IO 的磁碟。
記憶體最佳化資料表的儲存體有下列索引鍵屬性︰
所有記憶體最佳化資料表都會對應到記憶體最佳化資料檔案群組。 這個檔案群組使用的語法和語意與 Filestream 相類似。
沒有頁面,且資料以資料列保存。
記憶體最佳化資料表的所有變更,都會以附加至使用中的檔案方式儲存。 讀取和寫入檔案都會循序進行。
更新的實作方式為先插入再刪除。 已刪除的資料列不會立即從儲存體中移除。 已刪除的資料列會由稱為
MERGE的背景程序移除,其基礎原則如 Memory-Optimized 資料表的持久性中所述。不同於磁碟型資料表,記憶體最佳化資料表的儲存不會壓縮。 將壓縮 (
ROW或PAGE) 磁碟型資料表移轉至記憶體最佳化資料表時,您需要考慮大小的變更。記憶體最佳化資料表可以是耐久的,也可以是非耐久的。 您只需要為耐久的記憶體最佳化資料表設定儲存體。
本節將描述檢查點檔案組,以及有關記憶體最佳化資料表中資料的儲存方式等其他方面。
本節中的文章:
- 設定記憶體最佳化資料表的儲存體
- 記憶體最佳化檔案群組
- 記憶體最佳化資料表的持久性
- 記憶體最佳化的資料表的檢查點作業
- 為記憶體最佳化的物件定義持久性
- 比較以磁碟為基礎的資料表儲存體和記憶體最佳化資料表儲存體