- 博客(4)
- 收藏
- 关注
原创 DML事务过程
1. 在Buffer Pool中形成脏页(与磁盘中的数据不一致)2. RedoLog Buffer缓存事务中的事务更改记录,再刷新到磁盘中的Redo log文件中可通过修改参数设置文件大小、个数和刷新策略(参数设为1最安全,两个过程都是按每笔刷新一次)3.记录Binlog日志文件(由Mysql服务处生成,以事务的形式记录了DDL和DML语句,用于恢复恢复数据;以日志追加的形式进行记录,没有大小限制)4.提交,完成事务刷脏时机(由刷脏线程完成)1.当Redo log 文件...
2022-04-23 21:22:21 735
原创 InnoDB Buffer Pool 实现和细节
Buffer Pool:缓存表数据和索引数据,存储结构遵循LRU(Least recently used)Buffer Pool 需解决的两大问题预读失效:缓存的数据实际并没有使用数据污染:缓存数据替换热点数据Buffer Pool解决两大问题的设计:分代 + 老年代停留时间配置阈值分代设计:将队列分为新生代和老年代,插入数据页从老年代插入,避免热点数据页被替换,若数据页实际中并没有使用,则减少该页的滞留周期。老年代停留设置阈值:当数据页被加载到Buffer Pool的老年代
2022-04-23 14:53:55 207
原创 Mysql 索引
优化数据库的基础:建立正确的索引索引的定义:加快关系型数据库查询、存储在磁盘的数据结构预储备知识1.操作系统对磁盘进行I/O操作的最小单位:从物理层面为扇区,从逻辑层面为簇、块(页)可以了解SSD固态硬盘的4K对齐2.应用空间局部性原理和时间局部性原理来提高预读能力3.数据库页是Mysql操作的最小单位索引1.哈希索引(InnoDB中的自适应哈希索引)优点:等值匹配非常高效缺点:不能进行范围查找2.树型索引平衡二叉树(不采用):I/...
2022-04-20 13:20:43 729
原创 java 并发中的可见性问题
1.可见性 了解可见性前要了解JMM(java内存模型,此处不是JVM内存模型)。和CPU缓存类似,这样线程取值就不用次次访问主存,
2022-04-03 12:23:24 313
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人