天天看點

SQL Server 2016新特性:In-Memory OLTP

存儲格式修改

在2014,2016中修改了記憶體優化表的存儲格式,新的格式是序列的并且the database is restarted once during database recovery.

ALTER TABLE日志優化,并且可以并發運作

當你在記憶體優化表執行ALTER TABLE,隻有中繼資料的修改會被寫入日志。這樣減少了大量的日志。并且很多ALTER TABLE是并行的,這樣可以減少語句運作的時間

但是如果包含LOB,就不能并行運作

統計資訊

優化表的統計資訊可以自動更新。另外可以通過采樣來收集統計資訊,不需要進行表掃描

記憶體優化表的并發和heap掃描

記憶體優化表和索引,隻是并行掃描。對于分析的查詢可以提高性能。

另外,heap掃描也進行并發掃描。

記憶體優化表的TSQL增強

在SQL Server 2014很多TSQL語句都不能使用,現在在2016上可以使用了:

支援唯一限制和索引

支援記憶體優化表間的外鍵

外鍵隻能引用主鍵,不能用唯一建

支援check限制

非唯一索引支援key中的null

支援記憶體優化表上的觸發器

隻支援AFTER的觸發器,INSTADOF觸發器不支援

記憶體優化表中的任何觸發器必須使用WITH NATIVE_COMPILATION。

記憶體優化表,多列,行大小可以超過8060位元組。

支援LOB類型

natively compiled的TSQL增強

性能和擴充性的提高

資料大小不在限制

支援多個線程把記憶體優化表的修改持久化到磁盤

InterOp支援多線程通路

SSMS的增強