Lv.2
爱咬人的猫
更多个人资料
70
成长值
0
关注
4
粉丝
+ 关注
私信
个人介绍
这个人很懒,什么都没有留下
感兴趣或擅长的领域
暂无数据
个人勋章
TA还没获得勋章~
成长雷达
50
0
0
0
20
个人资料
个人介绍
这个人很懒,什么都没有留下
感兴趣或擅长的领域
暂无数据
达成规则
以上满足
项可达成此勋章
博客
关注
粉丝
论坛
全部时间
全部时间
最近三天
最近一周
最近一月
全部
暂无专栏分类
MySQL源码学习(六):线性预读
InnoDB为了尽可能的让用户经常读取的数据都放在内存中,以减少磁盘的IO次数,提高读性能,加入了预读特性。这个特性会将用户很有可能使用到的数据预先加载到buffer pool中,当用户使用到这个数据时,就不必再从磁盘上读入,从而提升了数据的读取性能。然而一般数据库存储的数据量都会远远大于内存,innodb不可能全部都加载到内存中,对加载数据的选择,决定了预读是否能够有效提升整体性能。
云数据库 RDS for MySQL
MySQL
RDS-MYSQL
RDS MySQL
爱咬人的猫
2018-03-10 19:37:45
7490
0
0
2018-03-10 19:37:45
999+
0
0
MySQL 源码学习(五)——Page和BTree
InnoDB通过BTree实现索引,Page(这里主要指Index Page,以下类似)包含了所有数据和索引的信息。原因是:Page为了让BTree索引更加高效,对Page的结构进行针对性的设计,使得Page被加载到内存中后,可以基于Page中的信息快速地构建出BTree,同时尽可能地减少额外的内存占用,提升BTree的修改、重构的性能。本文将通过Page的结构,来看InnoDB是如何做到这些的。
云数据库 RDS for MySQL
MySQL
RDS-MYSQL
RDS MySQL
爱咬人的猫
2018-03-04 17:10:02
11805
0
0
2018-03-04 17:10:02
999+
0
0
MySQL源码学习(四):从insert看btr
Btr: B+ Tree,是innodb的核心数据结构,它作为数据的索引,让数据库能够快速找到指定的数据。B+ Tree的相关说明网上已经很多,本文通过insert操作的调用栈,来分析btr的操作过程。· Btr操作在insert的哪个过程中被调用?图1 insert的函数调用栈(btr部分)图1是一次insert操作打印的trace日志。大家可以看到第一行write_record
云数据库 RDS for MySQL
MySQL
RDS-MYSQL
RDS MySQL
爱咬人的猫
2018-02-11 19:11:29
12679
0
0
2018-02-11 19:11:29
999+
0
0
MySQL源码学习(三) Group Commit
MySQL源码学习(三) Group Commit承接MySQL源码学习(一) 从一次insert开始,本文会详细展开说明其中流程之一——Group CommitGroup Commit是MySQL 5.6版本加入的特性,目的是为了提高事务的并发度,并以此提高MySQL的性能。Group Commit的原理在多线程并发中,如果必须对资源的操作进行加锁,开发者最先想到的流程就是在资源操作前获取锁,操
云数据库 RDS for MySQL
MySQL
RDS-MYSQL
RDS MySQL
爱咬人的猫
2018-02-04 16:31:34
10186
1
0
2018-02-04 16:31:34
999+
1
0
MySQL源码学习(二) Buffer Pool
MySQL源码学习(二) Buffer PoolBuffer Pool是innodb的核心组件之一,所有数据的读取,都会先放到Buffer Pool中,再读取出来,而不是直接读取datafile文件。那么对于类似笔者这样的新手来说,从哪里开始阅读buffer pool的代码呢?在源代码中,几乎搜不到”buffer pool”这样的关键字?1. 从buf_pool_t开始在mysql代码
云数据库 RDS for MySQL
MySQL
RDS-MYSQL
RDS MySQL
爱咬人的猫
2018-01-28 20:55:37
11054
0
1
2018-01-28 20:55:37
999+
0
1
https://www.baidu.com/s?ie=utf-8&f=3&rsv_bp=0&rsv_idx=1&tn=baidu&wd=sed%20%E6%9B%BF%E6%8D%A2%E5%AD%97%E7%AC%A6%E4%B8%B2&rsv_pq=c7db61a600035dc5&rsv_t=5e19yEsbV9N5fIvdlGRU
+ 关注