innodb_locks_unsafe_for_binlog - xiaoboluo768/qianjinliangfang GitHub Wiki
- 影响MySQL的gap lock查找和索引扫描的参数,布尔型值,举个例子说明
- 执行insert into...select语句时是否对数据源表加gap锁参数
- 0 即表示要对数据源表加gap锁,MySQL查找和索引扫描会使用gap lock
- 1时表示不对数据源表加gap锁,MySQL查找和索引扫描只使用index-record lock,但是启用innodb_locks_unsafe_for_binlog不会禁用对外键约束检查或重复键检查使用间隙锁定。
- 隔离级别在<=RC,或者RR+innodb_locks_unsafe_for_binlog=1的情况下,是没有gap lock的,只有record lock,另外,默认情况下在innodb的RC和RR隔离级别下,对于select是使用一致性非锁定读,但是在insert into ..select..语句中,被select的表也会加S锁,还有在外键约束字段上也是一样查询的时候加S锁
- 该参数不赞成使用,在后续的版本中将移除
- 全局变量,只读变量,默认值为OFF,布尔型值
- 执行insert into...select语句时是否对数据源表加gap锁参数
上一篇:innodb_lock_wait_timeout | 下一篇:innodb_max_dirty_pages_pct_lwm