日积月累
文章平均质量分 63
利用短暂的几分钟和短篇文字,记录小知识点的关键技巧
法号轻尘
乐于分享、交流与学习,积跬步,方能至千里!向大神致敬!!!
展开
-
什么是双亲委派机制?
双亲委派,类加载器原创 2023-08-08 09:48:28 · 168 阅读 · 0 评论 -
MySQL中的事务隔离级别
在 Mysql 里面, InnoDB 引擎默认的隔离级别是 RR(可重复读) ,基本保证了事务 ACID 特性中的隔离性特征,且性能不至于太差。这四种隔离级别里面,只有串行化解决了全部的问题,但也意味着这种隔离级别的性能是最低的。串行化 ,在这种隔离级别下 ,多个并行事务串行化执行 ,不会产生安全性问题。读未提交 ,在这种隔离级别下 ,可能会产生脏读、不可重复读、幻读等问题。读已提交(RC) ,在这种隔离级别下 ,可能会产生不可重复读和幻读问题。可重复读(RR) ,在这种隔离级别下 ,可能会产生幻读问题。原创 2023-08-06 09:10:44 · 366 阅读 · 0 评论 -
Redis 和 MySQL如何保证数据一致性
总体上来说,每个方案都不完美,需要根据具体需求和场景灵活选择适合的策略,并注意权衡性能、可靠性和成本等因素。原创 2023-08-06 09:01:01 · 491 阅读 · 0 评论 -
MySQL的innoDB存储引擎如何解决幻读的问题?
MySQL的innoDB存储引擎如何解决幻读的问题基本情况MySQL有四种事务隔离级别,这四种隔离级别代表当存在多个事务并发冲突时,可能出现的脏读、不可重复读、幻读的问题InnoDB 在 RR 的隔离级别下 ,解决了幻读的问题幻读是指在同一个事务中,前后两次查询相同的范围时,得到的结果数不一致原理分析InnoDB 引入了间隙锁和 next-key Lock 机制来解决幻读问题通过主键索引查询一条记录 ,并且对这条记录通过for update加锁,这个时候,会产生一个记录锁 ,也就是行锁原创 2023-08-04 09:39:10 · 377 阅读 · 0 评论 -
MySQL为什么要使用 B+Tree 作为索引结构?
B+树的所有存储在叶子节点 的数据使用了双向链表来关联 ,所以在查询的时候只需查两个节点进行遍历就行,而 B 树需要获取所有节点 ,所以 B+树在范围查询上效率更高。B+树非叶子节点不存储数据,所以每一层能够存储的索引数量会增加,意味着 B+树在层高相同的情况下存储的数据量要比 B 树要多 ,使得磁盘 IO 次数更少。基于 B+树这样一种结构 ,如果采用自增的整型数据作为主键 ,还能更好的避免增加数据的时候 ,带来叶子节点分裂导致的大量运算的问题。B+树的所有数据都存储在叶子节点 ,非叶子节点只存储索引。原创 2023-08-04 09:04:24 · 378 阅读 · 0 评论