目录

1.3 存储引擎

存储引擎是存储系统的发动机,直接决定了存储系统的性能和功能。存储引擎负责管理数据具体在存储介质上如何存储和检索。不同的存储引擎的优劣势不同,我们需要了解不同存储引擎的优缺点,才能根据需求选择合适的存储引擎来管理数据,从而来提高存储系统的性能,以下将介绍几种常用的存储引擎。

1.3.1 InnoDB 存储引擎

InnoDB是一种兼顾高可靠性和高性能的通用存储引擎,在MySQL5.5之后,InnoDB是默认的 MySQL存储引擎。支持事务处理,支持外键,支持崩溃修复能力和并发控制。如果需要对事务的完整性要求比较高(比如证券),要求实现并发控制(比如售票),那选择InnoDB有很大的优势。如果需要频繁的更新、删除操作的数据库,也可以选择InnoDB,因为支持事务的提交(commit)和回滚(rollback)。

1.3.2 MyISAM存储引擎

MyISAM是MySQL早期的默认存储引擎,不支持事务,不支持外键,支持表锁,不支持行锁,占用空间小,访问速度快。插入数据快,空间和内存使用比较低。如果表主要是用于插入新记录和读出记录,那么选择MyISAM能实现处理高效率,一般用于以读写插入为主的应用程序,比如博客系统、新闻门户网站。

1.3.3 Memory存储引擎

Memory引擎的表数据时存储在内存中的,由于受到硬件问题、或断电问题的影响,只能将这些表作为临时表或缓存使用。如果需要很快的读写速度,对数据的安全性要求较低,可以选择MEMOEY,它对表的大小有要求,不能建立太大的表。

1.3.4 ARCHIVE 存储引擎

ARCHIVE 存储引擎非常适合存储大量独立的、作为历史记录的数据。ARCHIVE 提供了压缩功能,拥有高效的插入速度,但是这种引擎不支持索引,所以查询性能较差。

 

小结

在MySQL数据库中可以使用多种存储引擎的表,如果一个表要求比较高的事务处理,可以选择InnoDB。这个数据库中可以将查询要求比较高的表选择MyISAM存储。如果该数据库需要一个用于查询的临时表,可以选择MEMORY存储引擎。