一、Mysql的存储引擎类型
常用的Mysql存储引擎有四种:MyISAM,innoDB,MEMORY,ARCHIVE。
1.MyISAM存储引擎:插入数据快,空间和内存使用较低;如果数据库的安全性和完整性没有太高的要求,只做较大量的读和较少的写,那么MyISAM的处理效率会较高:
a.不支持事务,因此没有ACID特性;
b.支持表级锁定;
c.不支持外键约束,需要在应用层面处理数据的完整性;
d.不支持崩溃恢复,需要手动复表
2.innoDB存储引擎:支持事务和外键,支持崩溃修复和并发控制。对事物要求较高,或者要求并发控制,innoDB有巨大的优势,同时对于大量的插入和删除,因为innoDB支持事务,可进行事物的提交和回滚,所以也有较大的优势。
a.支持事务,具有事物的ACID(原子性,一致性,隔离性,持久性)特性;
b.支持外键,可以保证数据的完整性;
c.支持行级锁定,可以提供更好的并发性能;
d.支持崩溃恢复,可以在数据库崩溃后自动恢复数据;
e.mysql的默认引擎;
3.MEMORY存储引擎:所有的数据都存储在内存中,数据处理速度极快,但是数据安全性不高;对数据库的大小有限制,并不能建立太大的表;因此MEMORY存储引擎只能临时的存储较少的数据安全性不高的数据。
4.ARCHIVE存储引擎:支持高并发的插入操作,但是本身事务并不安全,适用于存储归档数据,如记录日志信息。