摘要: 原则 1:加锁的基本单位是 next-key lock。希望你还记得,next-key lock 是前开后闭区间。 原则 2:查找过程中访问到的对象才会加锁。 优化 1:索引上的等值查询,给唯一索引加锁的时候,next-key lock 退化为行锁。 优化 2:索引上的等值查询,向右遍历时且最后一个 阅读全文
posted @ 2020-10-20 09:19 明月出青山root 阅读(66) 评论(0) 推荐(0)
摘要: AQS 原理剖析: https://mp.weixin.qq.com/s/WEV7fqPnyurDtSqMF0S2Wg 阅读全文
posted @ 2020-10-16 09:42 明月出青山root 阅读(72) 评论(0) 推荐(0)
摘要: redo log buffer是redo log 的缓冲池。持有将要写入redo log的数据。 redo log buffer大小是通过设置innodb_log_buffer_size实现的。redo log buffer会周期性的flush到磁盘的log file中。 如果你有事务需要updat 阅读全文
posted @ 2020-10-14 14:17 明月出青山root 阅读(974) 评论(0) 推荐(0)
摘要: 国庆肝了8天整整2W字的数据库知识点 https://mp.weixin.qq.com/s/J3kCOJwyv2nzvI0_X0tlnA MySQL事务与MVCC如何实现的隔离级别 https://mp.weixin.qq.com/s/CZHuGT4sKs_QHD_bv3BfAQ 阅读全文
posted @ 2020-10-14 09:40 明月出青山root 阅读(220) 评论(0) 推荐(0)
摘要: MySQL--InnoDB Buffer Pool详解 https://juejin.im/post/6845166890470342670#heading-8 阅读全文
posted @ 2020-10-13 15:43 明月出青山root 阅读(118) 评论(0) 推荐(0)
摘要: 精选评论: innodb是如何知道一个页是不是脏页的? 每个数据页头部有LSN,8字节,每次修改都会变大。对比这个LSN跟checkpoint 的LSN,比checkpoint小的一定是干净页 阅读全文
posted @ 2020-10-13 15:36 明月出青山root 阅读(84) 评论(0) 推荐(0)
摘要: flush 一般是说刷脏页,purge一般是指清undo log,merge一般是指应用change buffer mysql两个重要日志binlog、redolog 阅读全文
posted @ 2020-10-13 11:21 明月出青山root 阅读(103) 评论(0) 推荐(0)
摘要: 阅读全文
posted @ 2020-10-12 17:43 明月出青山root 阅读(102) 评论(0) 推荐(0)
摘要: 直接创建完整索引,这样可能比较占用空间; 创建前缀索引,节省空间,但会增加查询扫描次数,并且不能使用覆盖索引; 倒序存储,再创建前缀索引,用于绕过字符串本身前缀的区分度不够的问题; 创建 hash 字段索引,查询性能稳定,有额外的存储和计算消耗,跟第三种方式一样,都不支持范围扫描。 阅读全文
posted @ 2020-10-12 16:29 明月出青山root 阅读(219) 评论(0) 推荐(0)
摘要: SELECT cust_no,cust_name,e.b FROM `cust_info`LEFT JOIN (SELECT COUNT(*)b from cust_info) e on 1=1 LIMIT 2,3 阅读全文
posted @ 2020-10-10 17:04 明月出青山root 阅读(90) 评论(0) 推荐(0)