lijiannan_1981
著名写手
著名写手
  • 铜币15枚
  • 威望0点
  • 贡献值0点
阅读:2131回复:12

追踪一下MySql的表类型及其用法:)

楼主#
更多 发布于:2006-06-20 15:38
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查看关于该表类型的完整说明。

   表的类型在创建表时指定。在下面这个例子中我们创建了一个HEAP类型的表:

mysql >CREATE TABLE email_addresses TYPE=HEAP (
- >email char(55) NOT NULL,
- >name char(30) NOT NULL,
- >PRIMARY KEY(email) );

   创建BDB表需要更多的配置参数,请参考http://www.mysql.com/doc/B/D/BDB_overview.html了解完整说明以及要使用BDB表应该做哪些准备。

   MySql5.0中增加了数据库的高级功能,比如视图,触发器,存储过程。。。我们期待着这个东西一天比一天好。 [ 2006-06-20 15:34:25 lijiannan_1981 修改 ]
无。
永
著名写手
著名写手
  • 铜币90枚
  • 威望18点
  • 贡献值0点
1C#
发布于:2006-08-16 22:37
Re:追踪一下MySql的表类型及其用法:)
今天 高兴 我就顶~
我们都是普通人,普普通通的老百姓! 但是我们也有自己的思想,我们也有自己的语言,精辟的言语不光是出自社会知名人士,不光出自上层名流!
mumu
写手
写手
  • 铜币0枚
  • 威望0点
  • 贡献值0点
2C#
发布于:2006-07-12 00:47
Re:追踪一下MySql的表类型及其用法:)
0000绕指柔[ 2006-06-21 12:50:30 lijiannan_1981 修改 ]


断臂乎?
王小波说:“中年妇女在中国是一种自然灾害,这倒不是因为她们不好看,而是因为她们故意要恶心人。” 一天,我乘坐公交车,一位MM突然转过头来对我说:“你帅吗?”我说:“我不帅!”MM突然给我一巴掌,并说:“我最讨厌说谎的人了!” 如果你更热爱金钱而非自由,更习惯于被奴役的安宁而畏惧令人充满活力的争取自由的抗争,那么,请你静静地走开。我们不会乞求你的建议或是帮助。伏下身去讨好那喂养你的人吧。但愿身上的锁链不会给你造成太多的痛苦,但愿未来的人们不会记起你曾经是我们的国人 Samuel Adams: 18世纪美国独立革命重要领袖,著有“殖民者的权利”
lijiannan_1981
著名写手
著名写手
  • 铜币15枚
  • 威望0点
  • 贡献值0点
3C#
发布于:2006-06-21 12:55
Re:追踪一下MySql的表类型及其用法:)
[em062]0000[em062]绕指柔 [ 2006-06-21 12:50:30 lijiannan_1981 修改 ]
无。
绕指柔 
写手
写手
  • 铜币0枚
  • 威望0点
  • 贡献值0点
4C#
发布于:2006-06-21 12:06
Re:追踪一下MySql的表类型及其用法:)
楼上的,下来。
[img]http://bbs.511511.com/UploadFile/2004-7/20047222152223.jpg[/img]
0000
作家
作家
  • 铜币143枚
  • 威望34点
  • 贡献值1点
5C#
发布于:2006-06-21 12:01
Re:追踪一下MySql的表类型及其用法:)
BDB是一种非关系型的嵌入式数据库,操作起来比较麻烦,至少我是不太习惯,基本上是只会关系型数据库
建议楼主自己去试试bdb的操作api,就知道多麻烦了,
顺便说一下,它不支持sql~~
.--. |o_o | |:_/ | // \ \ (| | ) /'\_ _/`\ \___)=(___/
lijiannan_1981
著名写手
著名写手
  • 铜币15枚
  • 威望0点
  • 贡献值0点
6C#
发布于:2006-06-21 08:31
Re:追踪一下MySql的表类型及其用法:)
BDB不好用


BDB是一种轻量级的数据库吧,SVN用的就是,咋不好用了,说来听听? [ 2006-06-21 08:53:12 lijiannan_1981 修改 ]
无。
suchasplus
作家
作家
  • 铜币16枚
  • 威望11点
  • 贡献值1点
7C#
发布于:2006-06-21 01:02
Re:追踪一下MySql的表类型及其用法:)
BDB不好用
The history of these days will be written in blood... By crushing the armies of our enemy, by seizing the weapons they thought to turn against us, we were fighting for our very existence!
mumu
写手
写手
  • 铜币0枚
  • 威望0点
  • 贡献值0点
8C#
发布于:2006-06-20 22:35
Re:追踪一下MySql的表类型及其用法:)
上当了,楼长故意只放了一半。。缺德。。http://www.wowobbs.com/bbs/dispbbs.asp?boardid=51&id=16488

MyISAM还有其他许多优点。请访问http://www.mysql.com/doc/I/S/ISAM.html查看关于该表类型的完整说明。

   表的类型在创建表时指定。在下面这个例子中我们创建了一个HEAP类型的表:

mysql >CREATE TABLE email_addresses TYPE=HEAP (    - >email char(55) NOT NULL,    - >name char(30) NOT NULL,    - >PRIMARY KEY(email) );


   创建BDB表需要更多的配置参数,请参考http://www.mysql.com/doc/B/D/BDB_overview.html了解完整说明以及要使用BDB表应该做哪些准备。

   MySQL 4.0将增加两种新的表类型,即InnoDB和Gemeni。关于这两种表类型现在能够得到的信息还不多。

   关于MySQL表类型,有待学习的知识实在太多,本文简短的介绍不可能做到完整和详尽。建议访问MySQL文档(http://www.mysql.com/)了解更详尽的信息。

   接下来我们要讨论的是数据库性能优化的另一方面,即运用数据库服务器内建的工具辅助性能分析和优化。
王小波说:“中年妇女在中国是一种自然灾害,这倒不是因为她们不好看,而是因为她们故意要恶心人。” 一天,我乘坐公交车,一位MM突然转过头来对我说:“你帅吗?”我说:“我不帅!”MM突然给我一巴掌,并说:“我最讨厌说谎的人了!” 如果你更热爱金钱而非自由,更习惯于被奴役的安宁而畏惧令人充满活力的争取自由的抗争,那么,请你静静地走开。我们不会乞求你的建议或是帮助。伏下身去讨好那喂养你的人吧。但愿身上的锁链不会给你造成太多的痛苦,但愿未来的人们不会记起你曾经是我们的国人 Samuel Adams: 18世纪美国独立革命重要领袖,著有“殖民者的权利”
mumu
写手
写手
  • 铜币0枚
  • 威望0点
  • 贡献值0点
9C#
发布于:2006-06-20 22:29
Re:追踪一下MySql的表类型及其用法:)
楼长就最后一句抒情是自己的。

转也转个新鲜的啊,明显是老黄历了。一个两千年的屁,不如不放。
王小波说:“中年妇女在中国是一种自然灾害,这倒不是因为她们不好看,而是因为她们故意要恶心人。” 一天,我乘坐公交车,一位MM突然转过头来对我说:“你帅吗?”我说:“我不帅!”MM突然给我一巴掌,并说:“我最讨厌说谎的人了!” 如果你更热爱金钱而非自由,更习惯于被奴役的安宁而畏惧令人充满活力的争取自由的抗争,那么,请你静静地走开。我们不会乞求你的建议或是帮助。伏下身去讨好那喂养你的人吧。但愿身上的锁链不会给你造成太多的痛苦,但愿未来的人们不会记起你曾经是我们的国人 Samuel Adams: 18世纪美国独立革命重要领袖,著有“殖民者的权利”
万贤
作家
作家
  • 铜币1枚
  • 威望24点
  • 贡献值1点
10C#
发布于:2006-06-20 19:01
Re:追踪一下MySql的表类型及其用法:)
都是啥东西....
lijiannan_1981
著名写手
著名写手
  • 铜币15枚
  • 威望0点
  • 贡献值0点
11C#
发布于:2006-06-20 18:42
Re:追踪一下MySql的表类型及其用法:)
InoDB呢?。。。


本人还米搞清楚呢:))) [ 2006-06-21 12:49:16 lijiannan_1981 修改 ]
无。
0000
作家
作家
  • 铜币143枚
  • 威望34点
  • 贡献值1点
12C#
发布于:2006-06-20 16:25
Re:追踪一下MySql的表类型及其用法:)
InoDB呢?。。。
.--. |o_o | |:_/ | // \ \ (| | ) /'\_ _/`\ \___)=(___/
游客

返回顶部