- Mysql与其它数据库相比,它的不同主要体现在存储引擎的架构上,插件式的存储引擎架构将查询处理和其它的系统任务以及数据的存储提取相分离。这种架构可以根据业务的需求和实际需要选择合适的存储引擎。
- 存储引擎:真正的负责了Mysql中数据的存储和提取,服务器通过API与存储引擎进行通信。不同的存储引擎具有的功能不同,我们可以根据实际需要进行选取。
MyISAM和InnoDB存储引擎的区别:
- MyISAM不支持主键、外键和事务;InnoDB支持。
- MyISAM使用表锁,只要操作了表,即使是一条记录,也会锁住整个表,因此不适合高并发的操作;InnoDB使用的是行锁,每次操作只会锁住一行,不会对其他行有影响,因此适合高并发操作。
- MyISAM在缓存时只缓存索引,不会缓存真实数据;InnoDB缓存索引和真实数据,因此对内存的要求较高,且内存大小对性能有决定性的影响。
- MyISAM关注点是性能,查询。InnoDB关注的是事务。
- MyISAM的表空间小,InnoDB的表空间大。
- 默认这两种存储引擎都会安装。