开启全局锁还能添加字段吗?
不可以,全局锁一旦开启,任何其他操作都不允许。
什么情况下加全局锁?
做全库逻辑备份,把库的每个表都select出来存成文本。
为什么要用FTWRL方式?
不支持事务的引擎,破坏了一致性,就要用FTWRL命令。
什么叫更细粒度的锁
更细粒度的锁就是只锁住你当前操作所需的最小资源单元,从而提高系统的并发性能和灵活性。
分布式需要用到,多个事务同时执行。
表锁如何使用?
用不了行锁,不支持事务的引擎,采用表锁。
MDL元数据锁如何使用?
当对一个表做增删改查操作的时候,加MDL读锁;
当要对表做结构变更操作的时候,加MDL写锁。
总结
锁有三种,全局锁,表锁,行锁。全局锁的粗粒度,行锁的细粒度。只有INNODB引擎支持行锁,非此引擎的锁只能使用表锁。分布式服务采用行锁对表的影响面小。