28、内存优化表的事务隔离、日志变更及相关等待类型解析

内存优化表的事务隔离、日志变更及相关等待类型解析

1. 内存优化表的事务隔离机制

内存优化表的并发访问通过基于快照的事务隔离来处理。这种隔离级别与基于磁盘表的快照隔离有很多相似之处,但为了优化吞吐量也存在一些差异:
- 行版本存储 :当并发事务访问同一行时,基于快照的事务隔离会使用行版本。与常规快照隔离将行版本存储在 TempDB 数据库不同,内存优化表的行版本直接存储在数据文件中。
- 乐观并发控制 :采用乐观并发控制,即 SQL Server 假设并发事务访问相同数据时不会发生事务冲突。因此,无需使用锁或闩锁来保护内存优化表数据。不过,存在冲突检测机制,当检测到冲突时,会终止其中一个事务,该事务需要重试。

不使用和维护锁与闩锁对内存中 OLTP 的性能有重大贡献。

2. 事务日志的变更

内存优化表在事务日志行为方面有以下修改:
| 修改点 | 传统表 | 内存优化表 |
| ---- | ---- | ---- |
| 日志记录生成时机 | 事务开始时生成日志记录,无论是否提交 | 仅在事务开始提交处理时生成日志记录,回滚的事务不记录信息 |
| 索引变更记录 | 索引变更会记录在事务日志中 | 索引变更不记录在事务日志中,内存优化表的索引在 SQL Server 服务启动时重新生成 |
| 事务日志记录分组 | 每个事务至少生成一条日志记录 | 多个事务分组后作为一条日志记录写入(当前最大大小为 24 KB) |

这些修改减少了与磁盘上事务日志的交互,提高了内存优化表的吞吐量。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值