MySQL常见的三种存储引擎为InnoDB、MyISAM和MEMORY 。其区别体现在事务安全、存储限制、空间使用、内存使用、插入数据的速度和对外键的支持 。
三种引擎特点如下:
1、InnoDB存储引擎
InnoDB是事务型数据库的首选引擎,支持事务安全表(ACID),其它存储引擎都是非事务安全表,支持行锁定和外键,MySQL5.5以后默认使用InnoDB存储引擎 。
【mysql存储引擎有哪些 mysql使用什么存储引擎】
InnoDB特点:支持事务处理,支持外键,支持崩溃修复能力和并发控制 。如果需要对事务的完整性要求比较高(比如银行),要求实现并发控制(比如售票),那选择InnoDB有很大的优势 。
如果需要频繁的更新、删除操作的数据库,也可以选择InnoDB , 因为支持事务的提交(commit)和回滚(rollback) 。
2、MyISAM存储引擎
MyISAM基于ISAM存储引擎,并对其进行扩展 。它是在Web、数据仓储和其他应用环境下最常使用的存储引擎之一 。MyISAM拥有较高的插入、查询速度,但不支持事务,不支持外键 。
MyISAM特点:插入数据快,空间和内存使用比较低 。如果表主要是用于插入新记录和读出记录,那么选择MyISAM能实现处理高效率 。如果应用的完整性、并发性要求比较低 , 也可以使用
3、MEMORY存储引擎
MEMORY存储引擎将表中的数据存储到内存中,为查询和引用其他表数据提供快速访问 。
MEMORY特点:所有的数据都在内存中,数据的处理速度快 , 但是安全性不高 。如果需要很快的读写速度,对数据的安全性要求较低,可以选择MEMOEY 。
它对表的大小有要求,不能建立太大的表 。所以,这类数据库只使用在相对较小的数据库表 。