存储引擎是以插件的形式被MySQL数据库软件引入,可以根据实际应用、实际的领域来选择相应的存储引擎。
在MySQL数据库软件中,通过存储引擎决定数据库对象表的类型,但是如果想创建表,还需要了解数据类型,因为数据类型决定了表中可以存储数据的类型。
存储引擎指定了表的类型,即如何存储和索引数据、是否支持事务等,同时存储引擎决定了表在计算机中的存储方式。
SHOW ENGINES \G #查看存储引擎
MyISAM、InnoDB和MEMORY三种存储引擎特性的对比:
MyISAM:由于该存储引擎不支持事务、也不支持外键,所以访问速度比较快。因此对事务完整性没有要求,并以访问为主的应用适合使用该存储引擎。
InnoDB:由于该存储引擎在事务上具有优势,即支持具有提交、回滚和崩溃恢复能力的事务安装,所以比MyISAM存储引擎占用更多的磁盘空间。因此需要进行频繁的更新、删除操作,同时对事务的完整性要求比较高,需要实现并发控制,此时适合使用该存储引擎。
MEMORY:该存储引擎使用内存来存储数据,因此该存储引擎的数据访问速度快,但是安全上没有保障。如果应用中涉及数据比较小,需要进行快速访问,则适合使用该存储引擎。