InnoDB、MyISAM 都是MySQL存储引擎,在InnoDB存储引擎中,page是最小单位,然后是extent(区),段(segment)和tablespace,和Oracle在名称上较为相似。
默认情况下,表空间的page的大小为16K,但可以调整默认大小(innodb_page_size),Page的数量最少为64个,常见的组合如下所示:
Page Size | Page Count | Extent Size |
---|---|---|
4KB | 256 | 1MB |
8KB | 128 | 1MB |
16KB | 64 | 1MB |
32KB | 64 | 2MB |
64KB | 64 | 4MB |
InnoDB文件格式
InnoDB方式作为存储引擎,文件会分为.frm和.ibd两类,简单说明如下:
- .frm:包含表定义等meta数据的文件
- .ibd:主要存储数据信息,包括表的数据和索引数据等。
确认方式
方式1: show engines
可以通过show engines命令来确认当前的存储引擎, 可以看到InnoDB是DEFAULT的设定。
mysql> show engines;
+--------------------+---------+----------------------------------------------------------------+--------------+------+------------+
| Engine | Support | Comment | Transactions | XA | Savepoints |
+--------------------+---------+----------------------------------------------------------------+--------------+------+------------+
| MEMORY | YES | Hash based, stored in memory, useful for temporary tables | NO | NO | NO |
| MRG_MYISAM | YES | Collection of identical MyISAM tables | NO | NO | NO |
| CSV | YES | CSV storage engine | NO | NO | NO |
| BLACKHOLE | YES | /dev/null storage engine (anything you write to it disappears) | NO | NO | NO |
| MyISAM | YES | MyISAM storage engine | NO | NO | NO |
| PERFORMANCE_SCHEMA | YES | Performance Schema | NO | NO | NO |
| ARCHIVE | YES | Archive storage engine | NO | NO | NO |
| InnoDB