课程章节:第6章 InnoDB 增强剩余章节
主讲老师:董旭阳(Tony.Dong)
课程内容:
一、自增列持久化
二、死锁检查控制
三、锁定语句选项(select .... for share,select ....for update;)
四、其他改进功能
课程收获:
对于死锁检查控制,MySQL8.0增加了一个新的动态变量,用于控制系统是否执行innodb死锁检查。Innodb_deadlock_delect,有一定的系统资源开销,但是对于高并发系统,禁用死锁检查可能带来性能的提高
查看Innodb_deadlock_delect变量:show variables like ‘Innodb_deadlock_delect’;默认情况下时参数打开的。
锁定语句选项(select .... for share,select ....for update;)支持nowait、 skip locked
l 对于nowait 如果请求的行被其他事务锁定时,语句立即返回
l 对于skip locked从返回结果中移除被锁定的行
以上应用场景就是在线订票场景,比如说订车票
其他改进功能:
支持部分快速ddl、alter table ... algorithm=instant
innodb临时表使用共享的临时表空间ibtmp1
支持alter tablespace...rename to重命名通用表空间
支持使用innodb_directories选项在服务器停止时将表空间文件移动到新的位置