当前位置: 代码迷 >> 综合 >> MySQL中InnoDB特性
  详细解决方案

MySQL中InnoDB特性

热度:69   发布时间:2024-02-24 07:41:54.0

InnoDB关键特性

InnoDB是Mysql最常用的存储引擎。这里简单说下它的一些特性。

主要有:插入缓冲、两次写、自适应哈希、异步IO、刷新临近页。

 

插入缓冲

即我们所说的Insert Buffer,xxx

使用条件同时满足:

  • 索引是辅助索引

  • 索引不是唯一索引

可以在 show status 中查看,seg size * 16KB 代表Insert Buffer大小。

 

两次写

即Double Write,主要是为了保证数据页的可靠性。

 

自适应哈希

Adaptive Hash Index,我们知道InnoDB是不支持用户自定义哈希索引的,但是InnoDB在内部自优化的时候会探测热点查询,并构建一个哈希索引。

 

异步IO

简单来说,用户在发出一个IO请求后立即再发出另一个IO请求,当全部IO请求发送完毕后,等待所有IO操作的完成。要使用异步IO需要底层平台支持。因此这里就有两个可能:1、比如 mac上好像不支持AIO,因此使用的是InnoDB模拟的异步IO;2、直接使用操作系统的异步IO。

刷新邻接页

Flush Neighbor Page

当刷新一个脏页时,InnoDB存储引擎会检测该页所在区(extent)的所有页,如果是脏页,那么一起进行刷新。

好处:通过AIO将多个IO写入操作合并为一个IO操作。

 

 

 

  相关解决方案