InnoDB引擎
半张饭卡
北漂一族
展开
-
(六)innodb关键特性之自适应哈希索引、异步IO、刷新邻接页
InnoDB存储引擎的关键特性包括:插入缓冲(Insert Buffer)两次写(double Write)自适应哈希索引(Adaptive Hash Index)异步IO(Async IO)刷新邻接页(Flush Neighbor Page)自适应哈希索引哈希是一种非常快的查找方法,在一般情况时间复杂度为O(1)。而B+树的查找次数,取决于B+树的高度,在生产环境中,B+树的高度一般为3-4层,故需要查询3-4次。InnoDB存储引擎会监控对表上各索引页的查询。如果原创 2020-11-23 11:17:14 · 146 阅读 · 0 评论 -
(五)innodb关键特性之两次写(double Write)
InnoDB存储引擎的关键特性包括:插入缓冲(Insert Buffer)两次写(double Write)自适应哈希索引(Adaptive Hash Index)异步IO(Async IO)刷新邻接页(Flush Neighbor Page)1. 应用场景如果说Insert Buffer带给InnoDB存储引擎的是性能上的提升,那么double Write带给InnoDB存储引擎的是数据页的可靠性。当发生数据库宕机时,可能InnoDB存储引擎正在写入某个页到表中,而这个页只写了一部分,比原创 2020-11-23 11:01:42 · 295 阅读 · 0 评论 -
(四)innodb关键特性之Insert Buffer
InnoDB存储引擎的关键特性包括:插入缓冲(Insert Buffer)两次写(double Write)自适应哈希索引(Adaptive Hash Index)异步IO()刷新邻接页插入缓冲1. Insert Buffer Insert Buffer是InnoDB存储引擎关键特性中最令人激动与兴奋的一个功能。不过这个名字可能会让人认为插入缓冲是缓冲池中的一个组成部分。其实不然,InnoDB缓冲池中有Insert Buffer信息固然不错,但是Insert Buf原创 2020-11-20 16:03:27 · 1178 阅读 · 6 评论 -
(三)Master Thread 不同版本的工作方式
一. InnoDB 1.0x版本之前的Master Thread Master Thread具有最高的线程优先级别,内部由多个循环组成:主循环(loop)、后台循环(background loop)、刷新循环(flush loop)、暂停循环(suspend loop),Master Thread会根据数据库运行的状态进行循环之间的切换。 Loop主循环(大多数操作都在这个循环下)这个由两大部分操作,每秒和每10秒操作:void master_thread() { loop: fo原创 2020-11-20 10:14:52 · 212 阅读 · 0 评论 -
(二)checkpoint技术学习笔记
1. Checkpoint技术主要解决的问题:缩短数据库的恢复时间;缓冲池不够用时,将脏页刷新到磁盘;重做日志不可用时。刷新脏页。2. Checkpoint分类 在InnoDB引擎中,Checkpoint发生的时间、条件及脏页的选择等都非常复杂。而Checkpoint所做的事情无外乎是将缓冲池中的脏页刷新回到磁盘。不同之处在于每次刷新多少页到磁盘、每次从哪里取脏页、以及什么时间触发Checkpoint。在InnoDB内部有两种Checkpoint,分别为:Sharp Checkp原创 2020-11-19 10:49:24 · 507 阅读 · 0 评论 -
(一)InnoDB体系架构
InnoDB存储引擎1.简介InnoDB是事务安全的Mysql存储引擎,是OLTP应用中核心表的首选存储引擎。2.InnoDB体系架构InnoDB主要包括了内存池、后台线程以及存储文件。2.1后台线程Master Thread 主要负责将缓冲池中的数据异步刷新到磁盘中,除此之外还包括插入缓存、undo页的回收等IO Thread负责读写IO的线程(1个insert buffer thread、1个log thread、4个read thread、4个write thread)Purge T原创 2020-11-18 16:55:06 · 178 阅读 · 2 评论