FTWRL锁对全库的影响

执行mysqldump必然会产生FTWRL锁

因为FTWRL锁的关系,所有打开的表会被执行关闭

eg.

执行一个sysbench,在执行20秒后开启FTWRL锁;

从图1可以看到,一开始in_use>0的条件可以筛查出很多张正在执行update的表,过了一段时间之后通过in_use>0已经无法再筛查到数据了

图2中,从25s开始,tps变为0

FTWRL锁对全库的影响_第1张图片
FTWRL锁对全库的影响_第2张图片

结论

我以前以为mysqldump只会把需要导出的库对应的所有表关闭并锁定,通过该实验可知执行mysqldump时会对mysql下所有库的所有打开的表执行强行关闭并锁定的操作,直到mysqldump的unlock table执行之后,才会允许放开

你可能感兴趣的:(FTWRL锁对全库的影响)