麻烦给解释一下mysql的表类型的区别及什么情况下使用何种类型!!

netwebs 2003-10-16 11:43:14
ISAM
MyISAM
HEAP
MERGE
InnoDB
BDB
Gemini
...全文
55 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
lonelydreamsym 2003-11-28
  • 打赏
  • 举报
回复
找到了,内容如下:

   MySQL实际上支持五种不同的表类型,有些人可能会对此感到不同寻常。这五种类型分别是BDB、HEAP、ISAM、MERGE以及MyISAM。其中BDB类型单独属于一类,称为“事务安全型”(transaction-safe),其余的表类型属于第二类,称为“非事务安全型”(non-transaction-safe)。下面我们详细介绍这些表类型。

   事务安全型

   ▲ BDB

   BDB全称是“Berkeley DB”,它是MySQL具有事务能力的表类型,由Sleepycat Software (http://www.sleepycat.com)开发。BDB表类型提供了MySQL用户长久期盼的功能,即事务控制能力。在任何RDBMS中,事务控制能力都是一种极其重要和宝贵的功能。事务控制能力使得我们能够确保一组命令确实已经全部执行成功,或者确保当任何一个命令出现错误时所有命令的执行结果均被回退。可以想象,在电子银行这类应用中事务控制能力是极其重要的。

   非事务安全型

   ▲ HEAP

   HEAP表是访问数据速度最快的MySQL表,这是因为这类表使用保存在内存中的散列索引。但有极其重要的一点必须注意,如果MySQL或者服务器崩溃,HEAP表中的数据将会丢失!

   ▲ ISAM

   ISAM表类型是MyISAM出现之前MySQL的默认表类型,所以现在这种表类型是不推荐使用的,建议改用MyISAM表。

   ▲ MERGE

   MERGE是一种值得关注的新式表类型,在3.23.25版中提供。MERGE表实际上由一组同样的MyISAM表合并而成。之所以要把多个同样的表合并成一个,主要是出于性能上的考虑,因为它能够提高搜索速度、提高修复效率、节省磁盘空间。

   当前的MERGE表类型仍旧属于BETA版本,但相信正式版本很快就会出现。

   ▲ MyISAM

   MyISAM表类型是MySQL默认的表类型。MyISAM表类型以ISAM为基础,但增加了许多有用的扩展。下面是部分用MyISAM表类型取代ISAM表类型的原因:

MyISAM表比ISAM表要小,因而占用资源更少。
MyISAM表在不同的平台间二进制可移植。
   MyISAM还有其他许多优点。请访问http://www.mysql.com/doc/I/S/ISAM.html查看关于该表类型的完整说明。
lonelydreamsym 2003-11-28
  • 打赏
  • 举报
回复
我也正为这个问题郁闷。创建表时老出错,不知为什么???
ezhou 2003-10-17
  • 打赏
  • 举报
回复
其实最好的资料就是www.mysql.com的document了,专业英文两不误,多好啊,:)
netwebs 2003-10-17
  • 打赏
  • 举报
回复
不好意思,刚学,没找到mysql的书
heavenmusic 2003-10-17
  • 打赏
  • 举报
回复
总结,我没有.......

即使有总结你不去实现,,,也没有用...

建议你在学习的过程...积累....

我想一般书上,讲到以上相关表的类型时,就有介绍....

56,677

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧