MySQL存储引擎
存储引擎就是存储数据,建立索引,更新查询数据等技术的实现方式。存储引擎是基于表的,而不是基于库的,所以存储引擎也可以称为表类型。
查看存储引擎
show engines;
查看数据库默认存储引擎
show variables like '%storage_engine%';
MySQL存储引擎特性
MySQL5.5之前默认使用MyISAM引擎,之后默认使用InnoDB引擎。
InnoDB
- 存储限制:64TB
- 事务安全:支持
- 锁机制:行锁(适合高并发)
- 支持外键:支持(InnoDB是唯一支持外键的引擎)
MyISAM
- 存储限制:有
- 事务:不支持
- 锁机制:表锁
- 支持外键:不支持
存储引擎的选择
- InnoDB:对数据安全性、一致性较高,选择InnoDB。
- MyISAM:对数据安全性、一致性要求不高,但对数据读写速度要求较高(也可以选择NoSQL)。
- MEMORY:数据量小,更新不频繁。
- MERGE:一组MyISAM表的组合。