Innodb存储引擎 读书笔记
2013-05-02 00:00
232 查看
1.缓冲池是占最大块内存的部分,用来存放各种数据的缓存。由于Innodb存储引擎的工作方式总是将数据库文件按页(每页16K)读取到缓冲池,然后按最近最少LRU的算法保留在缓冲池中的缓存数据。如果数据库文件需要修改,总是首先修改缓冲池中的页,发生修改后,该页即为脏页,然后再按照一定的频率将缓冲池的脏页刷新到文件。P22
2.Innodb开创性的设计了插入缓冲,对于非聚集索引的插入或更新,不是每一次直接插入索引页,而是先判断缓冲池中是否包含该页。如果在,则直接插入,不在则先插入到一个缓冲池中,然后在以一定的频率执行缓冲和非聚集索引页子节点的合并工作。这时通常能将多个插入合并到一个操作中(在一个索引页中),提高了性能。P34
3.自适应哈希索引,对索引进行hash来快速查找。Innodb自动根据访问的频率和模式来为某些页建立hash索引P38
4.表空间由多个段组成,常见的段有数据段、索引段、回滚段。数据段即为B+树的叶节点,索引段即为非叶节点 P75
5.Compact行记录方式:Null值不占存储空间,不管是定长或是不定长。行记录是通过链表的方式来串联 P88
6.Varchar(N) 中的N是字符的长度,最大支持为65535个字节,当utf8或gbk时,n的最大值都是不同的。
7.每个页大小为16KB,当例如varchar的字节数超过该值时,即发生行溢出时,这个存放行溢出的页类型为Uncompress BLOB Page。
8.辅助索引,页级别不包含行的全部数据,其中包含了一个书签,用来告诉哪里可以找到对饮索引的的行数据,即相应行的聚集索引键。P174
9.B+树是一棵矮的树,因为硬盘IO操作是高消耗的,所以一般的查询有一到两次的硬盘io就好了,所以一般的查询操作都在0.01ms左右
2.Innodb开创性的设计了插入缓冲,对于非聚集索引的插入或更新,不是每一次直接插入索引页,而是先判断缓冲池中是否包含该页。如果在,则直接插入,不在则先插入到一个缓冲池中,然后在以一定的频率执行缓冲和非聚集索引页子节点的合并工作。这时通常能将多个插入合并到一个操作中(在一个索引页中),提高了性能。P34
3.自适应哈希索引,对索引进行hash来快速查找。Innodb自动根据访问的频率和模式来为某些页建立hash索引P38
4.表空间由多个段组成,常见的段有数据段、索引段、回滚段。数据段即为B+树的叶节点,索引段即为非叶节点 P75
5.Compact行记录方式:Null值不占存储空间,不管是定长或是不定长。行记录是通过链表的方式来串联 P88
6.Varchar(N) 中的N是字符的长度,最大支持为65535个字节,当utf8或gbk时,n的最大值都是不同的。
7.每个页大小为16KB,当例如varchar的字节数超过该值时,即发生行溢出时,这个存放行溢出的页类型为Uncompress BLOB Page。
8.辅助索引,页级别不包含行的全部数据,其中包含了一个书签,用来告诉哪里可以找到对饮索引的的行数据,即相应行的聚集索引键。P174
9.B+树是一棵矮的树,因为硬盘IO操作是高消耗的,所以一般的查询有一到两次的硬盘io就好了,所以一般的查询操作都在0.01ms左右
相关文章推荐
- InnoDB存储引擎redo log文件——《MySQL技术内幕InnoDB存储引擎》读书笔记
- [innodb存储引擎]读书笔记-索引
- MySQL技术内幕-InnoDB存储引擎-读书笔记(二)
- MySQL技术内幕-InnoDB存储引擎-读书笔记(一)
- 读书笔记:MySQL InnoDB存储引擎关键特性
- 《MySQL技术内幕——InnoDB存储引擎》读书笔记(二)——InnoDB存储引擎
- [innodb存储引擎]读书笔记-锁
- MySQL的存储引擎INNODB
- Mysql有两种存储引擎InnoDB与Myisam对比
- InnoDB存储引擎Log
- Mysql更换MyISAM存储引擎为Innodb的操作记录总结
- InnoDB还是MyISAM 再谈MySQL存储引擎的选择
- MySQL最常用的二种存储引擎MyISAM和InnoDB的介绍
- MySQL存储引擎中的MyISAM和InnoDB区别
- InnoDB存储引擎 - 常见问题修复
- MySQL InnoDB 存储引擎 count加速
- MySQL数据库InnoDB存储引擎多版本控制(MVCC)实现原理分析[转]
- mysql中InnoDB存储引擎的行锁和表锁
- InnoDB存储引擎
- MySQL两种存储引擎MyISAM于InnoDB对比