- 博客(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
800
原创 InnoDB Buffer Pool 实现和细节
Buffer Pool:缓存表数据和索引数据,存储结构遵循LRU(Least recently used) Buffer Pool 需解决的两大问题 预读失效:缓存的数据实际并没有使用 数据污染:缓存数据替换热点数据 Buffer Pool解决两大问题的设计:分代 + 老年代停留时间配置阈值 分代设计:将队列分为新生代和老年代,插入数据页从老年代插入,避免热点数据页被替换,若数据页实际中并没有使用,则减少该页的滞留周期。 老年代停留设置阈值:当数据页被加载到Buffer Pool的老年代
2022-04-23 14:53:55
284
原创 Mysql 索引
优化数据库的基础:建立正确的索引 索引的定义:加快关系型数据库查询、存储在磁盘的数据结构 预储备知识 1.操作系统对磁盘进行I/O操作的最小单位:从物理层面为扇区,从逻辑层面为簇、块(页) 可以了解SSD固态硬盘的4K对齐 2.应用空间局部性原理和时间局部性原理来提高预读能力 3.数据库页是Mysql操作的最小单位 索引 1.哈希索引(InnoDB中的自适应哈希索引) 优点:等值匹配非常高效 缺点:不能进行范围查找 2.树型索引 平衡二叉树(不采用):I/...
2022-04-20 13:20:43
780
原创 java 并发中的可见性问题
1.可见性 了解可见性前要了解JMM(java内存模型,此处不是JVM内存模型)。和CPU缓存类似,这样线程取值就不用次次访问主存,
2022-04-03 12:23:24
374
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅