前言:以下内容均为MySQL5.7版本为准,在MySQL5.7版本中innodb是默认的存储引擎。
innodb结构
事务性表和非事务性表(Innodb,MyISAM )。 MyISAM 没有commit 和rollback。
创建表的时候指定存储引擎
CREATE TABLE `user` (
`id`int(64) DEFAULT NULL) ENGINE=InnoDB DEFAULT CHARSET=utf8
innodb有页为单位存储数据。一页的大小为16KB,除了修改源码,不能修改。
查询MySQL也大小 show GLOBAL STATUS like 'Innodb_page_size'; --显示Innodb页大小。
特点:innodb创建哈希索引会自动转换成Btree索引,也就是说,Innodb其实没有哈希索引。
然后由N页存放一个表的数据,并且这些页之间关联,主键索引,最终组成N个B+树。
MySQL 中一页是16KB, 一个主键bigint字段