mysql数据库引擎

来源:互联网 发布:火辣健身软件 编辑:程序博客网 时间:2024/05/29 13:53
mysql数据库引擎
========================


数据库引擎是在我们编译安装mysql的时候确定下来的。也就是说如果我们想换一个数据库引擎,也就要重新编译mysql。我们也可以使用mysql和api来编译我们自己的数据库引擎, 当然这个是建立在你对数据库底层非常了解的地步。所以我们想要添加一个新的数据库引擎的时候,那么就编译吧。这个在unix环境下是非常普遍的(为了增加某一个特性而去编译程序)。


默认情况mysql支持三个引擎:ISAM,MyISAM,HEAP。另外两种类型InnoDB和Berkley(BDB),也常常可以使用。


ISAM
-----------------------


ISAM是一个定义明确的数据表格管理方法,它在设计之时就认为数据库被查询的次数要远大于更新的次数。因此,ISAM执行读取操作的速度很快,且不占用大量的内存和存储资源。


ISAM的两个主要不足之处在于,


+ 它不支持事务处理
+ 不能够容错


如果硬盘崩溃,数据文件就无法恢复了。如果正在把ISAM用在关键任务应用程序里,那就必须经常备份你所有的实时数据,通过其复制特性,mysql能够支持这样的备份应用程序。


MyISAM
-----------------


MyISAM是mysql的ISAM扩展格式和缺省的数据库mysql数据库引擎。不仅提供ISAM里没有的索引和字 段管理的大量功能,MyISAM还使用一种表格锁定的机制,来优化多个并发的读写操作。相应的代价是我们需要OPTIMIZE TABLE命令,来恢复被更新机制所浪费的空间。
MyISAM强调了快速读取操作,这可能就是为什么MySQL受到了Web开发如此青睐的主要原因:在Web开发中你所 进行的大量数据操作都是读取操作。所以,大多数虚拟主机提供商和Internet平台提供商只允许使用MyISAM格式。


HEAP
--------------------------


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


InnoDB  && BDB
------------------------


这两个引擎比ISAM和MYISAM慢的多,但是InnoDB和BDB包括了对事务处理和外来键的支持,这两点都是前两个引擎所没有的。


博客学习来之于[参考学习资料](http://blog.sina.com.cn/s/blog_8442befd010102np.html)
0 0