欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

MySQL数据库中所支持的3个引擎有哪些?

程序员文章站 2022-06-17 12:51:37
...

以下的文章主要是让你轻松的接触MySQL数据库中所支持的3个不同种类的引擎,我们大家都知道ISAM的主要目的是定义明确,且历经时间考验的数据表格管理,它在设计之时就考虑到MySQL数据库被查询的次数要远大于更新的次数。 因此,ISAM执行读取操作的速度很快,而

以下的文章主要是让你轻松的接触MySQL数据库中所支持的3个不同种类的引擎,我们大家都知道ISAM的主要目的是定义明确,且历经时间考验的数据表格管理,它在设计之时就考虑到MySQL数据库被查询的次数要远大于更新的次数。

因此,ISAM执行读取操作的速度很快,而且不占用大量的内存和存储资源。

ISAM的两个主要不足之处在于,它不支持事务处理,也不能够容错:如果你的硬盘崩溃了,那么数据文件就无法恢复了。如果你正在把ISAM用在关键任务应用程序里,那就必须经常备份你所有的实时数据,通过其复制特性,MySQL(和PHP搭配之最佳组合)能够支持这样的备份应用程序。

MyISAM

MyISAM是MySQL(和PHP搭配之最佳组合)的ISAM扩展格式和缺省的MySQL数据库引擎。除了提供ISAM里所没有的索引和字段管理的大量功能,MyISAM还使用一种表格锁定的机制,来优化多个并发的读写操作。其代价是你需要经常运行OPTIMIZE TABLE命令,来恢复被更新机制所浪费的空间。

MyISAM还有一些有用的扩展,例如用来修复MySQL数据库文件的MyISAMChk工具和用来恢复浪费空间的MyISAMPack工具。

MyISAM强调了快速读取操作,这可能就是为什么MySQL(和PHP搭配之最佳组合)受到了Web开发如此青睐的主要原因:在Web开发中你所进行的大量数据操作都是读取操作。所以,大多数虚拟主机提供商和Internet平台提供商(Internet Presence Provider,IPP)只允许使用MyISAM格式。

HEAP

HEAP允许只驻留在内存里的临时表格。驻留在内存里让HEAP要比ISAM和MyISAM都快,但是它所管理的数据是不稳定的,而且如果在关机之前没有进行保存,那么所有的数据都会丢失。在数据行被删除的时候,HEAP也不会浪费大量的空间。HEAP表格在你需要使用SELECT表达式来选择和操控数据的时候非常有用。要记住,在用完表格之后就删除表格。让我再重复一遍:在你用完表格之后,不要忘记删除表格。

InnoDB和Berkley DB

InnoDB和Berkley DB(BDB)数据库引擎都是造就MySQL(和PHP搭配之最佳组合)灵活性的技术的直接产品,这项技术就是MySQL(和PHP搭配之最佳组合)++ API。在使用MySQL(和PHP搭配之最佳组合)的时候,你所面对的每一个挑战几乎都源于ISAM和MyISAM数据库引擎不支持事务处理也不支持外来键。尽管要比ISAM和MyISAM引擎慢很多,但是InnoDB和BDB包括了对事务处理和外来键的支持,这两点都是前两个引擎所没有的。如前所述,如果你的设计需要这些特性中的一者或者两者,那你就要*使用后两个引擎中的一个了。

以上的相关内容就是对轻松接触MySQL数据库支持的3个引擎的介绍,望你能有所收获。