博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
MySQL的数据库引擎的类型及区别
阅读量:6435 次
发布时间:2019-06-23

本文共 1182 字,大约阅读时间需要 3 分钟。

MySQL的数据库引擎的类型

  你能用的数据库引擎取决于mysql在安装的时候是如何被编译的。要添加一个新的引擎,就必须重新编译MYSQL。在缺省情况下,MYSQL支持三个引擎:ISAM、MYISAM和HEAP。另外两种类型INNODB和BERKLEY(BDB),也常常可以使用。

  ISAM

  ISAM是一个定义明确且历经时间考验的数据表格管理方法,它在设计之时就考虑到数据库被查询的次数要远大于更新的次数。因此,ISAM执行读 取操作的速度很快,而且不占用大量的内存和存储资源。ISAM的两个主要不足之处在于,它不支持事务处理,也不能够容错:如果你的硬盘崩溃了,那么数据文 件就无法恢复了。如果你正在把ISAM用在关键任务应用程序里,那就必须经常备份你所有的实时数据,通过其复制特性,MYSQL能够支持这样的备份应用程 序。

  MYISAM

  MYISAM是MYSQL的ISAM扩展格式和缺省的数据库引擎。除了提供ISAM里所没有的索引和字段管理的大量功能,MYISAM还使用一 种表格锁定的机制,来优化多个并发的读写操作。其代价是你需要经常运行OPTIMIZE TABLE命令,来恢复被更新机制所浪费的空间。MYISAM还有一些有用的扩展,例如用来修复数据库文件的MYISAMCHK工具和用来恢复浪费空间的 MYISAMPACK工具。

  MYISAM强调了快速读取操作,这可能就是为什么MYSQL受到了WEB开发如此青睐的主要原因:在WEB开发中你所进行的大量数据操作都是读取操作。所以,大多数虚拟主机提供商和INTERNET平台提供商只允许使用MYISAM格式。

  HEAP

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

  INNODBBERKLEYDB

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

转载于:https://www.cnblogs.com/bluewelkin/p/3434942.html

你可能感兴趣的文章
项目实战补充:nsinx自启脚本
查看>>
Linux基础命令---diff
查看>>
openstack-mitaka之对象存储服务(object安装配置)
查看>>
我的友情链接
查看>>
数组随机赋值
查看>>
利用python Socket写一个类似FTP的脚本(只写了下载,上传和下载差不多就不多写了)...
查看>>
Nagios系统监控软件的安装设置(2)
查看>>
我的友情链接
查看>>
docker本地仓库搭建
查看>>
自定义函数table()
查看>>
Windows Server 2008 R2 Hyper-V 安装指南
查看>>
logstash安装
查看>>
Data Guard Physical Standby Database
查看>>
编译安装dhcp 4.1
查看>>
python email 正则表达式
查看>>
sqli-labs-master第六关
查看>>
nload 安装操作实例
查看>>
Eclipse和MyEclipse运行环境java虚拟机jvm设置,自己设置jre
查看>>
Silverlight中使用摄像头
查看>>
[学习windows/记录篇]基于tmg的***配置
查看>>