MySQL深入学习(2)——InnoDB存储引擎
1. InnoDB存储引擎体系架构 innoDB的存储引擎主要体系结构如上图所示 首先是工作线程:默认7个后台线程,分别是4个io thread(insert buffer、log、read、write),1个master thread(优先级最高),1个锁(lock)监控线程,1个错误监控线程。可以通过show engine innodb status来查看。新版本已对默认的read thread和write thread分别增大到4个,可通过show variables like 'innodb_io_thread%'查看。 每个线程操作的同一个块大内存池:该内存池中会被分为多个区域,分别是缓冲池(buffer pool)、重做日志缓冲池(redo log buffer)以及额外的内存池(additional memory pool)。内存池所负责也就是维护线程需要访问的数据结构、缓存磁盘文件的数据,方便快速读取,同时在对磁盘文件的数据修改之前在这里缓存,以及重做日志缓存等。具体配置可由 show variables like 'innodb_buffer_pool_size' 、 show variables like 'innodb_log_buffer_size' 、 show variables like 'innodb_additional_mem_pool_size