摘要: 06 | 全局锁和表锁:给表加个字段怎么有这么多阻碍 全局锁:对整个数据库实例加读锁,命令是Flush tables with read lock,使用这个命令后其他线程的增删改、修改表结构、建表将会被阻塞(使用unlock tables可以解除)。主要用来做全局备份。 为什么使用全局锁而不要使用全 阅读全文
posted @ 2021-03-23 19:52 zliawk 阅读(118) 评论(0) 推荐(0)
摘要: 07 | 行锁功过:怎么减少行锁对性能的影响 二阶段锁协议:在执行某条SQL时加锁,在事务提交后统一释放锁。 设置锁等待的超时时间:innodb_lock_wait_timeout,默认情况下是50秒。 发起死锁检测,innodb_deadlock_detect设置为on,默认情况下是on,缺点就是 阅读全文
posted @ 2021-03-23 19:51 zliawk 阅读(130) 评论(0) 推荐(0)
摘要: 12 | 为什么我的MySQL会抖一下? 这一篇将的云里雾里的感觉,比如数据页和redo log的脏页到底是一起刷还是分开刷的,还有它们之间的LSN是如何比较的,这部分应该属于很复杂的内容,丁奇老师说后续的篇章会阐述这块的内容,等着吧。 内存中的数据页什么情况下会刷盘 redo log缓冲池满了,放 阅读全文
posted @ 2021-03-23 19:48 zliawk 阅读(134) 评论(0) 推荐(0)
摘要: 11 | 怎么给字符串字段加索引? 前缀索引:使用字符串的一部分作为索引。使用前缀索引后,回表的次数可能会增加,因为要去主索引上获取完整的字符串来判断是否满足条件,注意,即使定义的前缀索引的长度包含了字符串的所有信息,InnoDB仍然会去主索引上在差一下,因为系统并不确定前缀索引的定义是否截断了完整 阅读全文
posted @ 2021-03-23 19:41 zliawk 阅读(41) 评论(0) 推荐(0)