相关文章
16 简单的LRU链表在Buffer Pool实际运行中,可能导致哪些问题?
1、简单回顾一下 之前我们讲解了Buffer Pool在使用过程中如果缓存页都使用了,没有空闲的缓存页时,可以去LRU链表中的尾部找一个最近最少使用的缓存页,把他的数据刷入磁盘,腾出来一个空闲缓存页,然后加载需要的新的磁盘数据页到空闲缓存...
18 基于冷热数据分离方案优化后的LRU链表,是如何解决之前的问题的?
1、对于预读以及全表扫描加载进来的一大堆缓存页 现在我们已经看完了LRU链表的冷热数据分离的方案,那么我们接着看这个冷热数据分离之后的LRU链表,他是如何解决之前遇到的一大堆问题的? 首先我们思考一下,在这样的一个LRU链表方案下,预读...
21 生产经验:如何通过多个Buffer Pool来优化数据库的并发性能?
1、Buffer Pool在访问的时候需要加锁吗?前面我们已经把Buffer Pool的整体工作原理和设计原理都已经给大家分析的比较清楚了,基本上目前大家都能够很好的理解,我们对MySQL执行CRUD操作时候的第一步,就是利用Buffer...
27 磁盘文件中, 40个bit位的数据头以及真实数据是如何存储的?
之前我们已经给大家讲到了在磁盘上存储数据的时候,每一行数据都会有变长字段长度列表,逆序存放这行数据里的变长字段的长度,然后会有NULL值列表,对于允许为NULL的字段都会有一个bit位标识那个字段是否为NULL,也是逆序排列的。 今天我们...
37 案例实战:RAID锂电池充放电导致的MySQL数据库性能抖动的优化
前面经过了几天的生产经验的一些铺垫,包括MySQL磁盘读写的机制,Linux存储系统的原理,RAID磁盘阵列的介绍,RAID锂电池定时充放电的原理,今天终于可以切入真正的生产案例的讲解了! 其实只要大家理解了之前的内容,今天真正讲解案例的...
38 案例实战:数据库无法连接故障的定位,Too many connections
今天要给大家分析另外一个真实的大家都经常会碰到的数据库生产故障,就是数据库无法连接的问题 大家会看到的异常信息往往是“ERROR 1040(HY000): Too many connections”,这个时候就是说数据库的连接池里已经有太...