存储格式修改
在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的增强