| VB 源码 | VC 源码 | ASP源码 | JSP源码 | PHP源码 | CGI源码 | FLASH源码 | 素材模板 | C 源程序 | 站长工具 | 站长教程 |

数据库

数据库
邮件服务
Linux
Win9x/ME
Win2000/NT
WinXP/Server

本类阅读TOP10

·5种修改MySql的用户密码的方法
·九大数据库特点比较
·远程连接access数据库的方法
·浅谈数据库设计技巧(上)
·MySQL和Postgres的比较
·SQL Server存储图像数据的策略与方法
·安装Oracle服务器
·浅谈数据库设计技巧(下)
·Sql server中时间查询的一个比较快的语句
·无组件上传图片到数据库中,最完整解决方案

站内搜索

MySQL性能优化全攻略(3)表的类型

   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表应该做哪些准备。

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

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





相关文章
  • 设置 MySql 数据同步
  • 用PHP连mysql和oracle数据库性能比较
  • 数据库正规化和设计技巧
  • 搭建基于Linux的Informix数据库开发环境
  • 我在RedHat7.0下安装Oracle的经历
  • 将你的网站从MySQL改为PostgreSQL(下)
  • 将你的网站从MySQL改为PostgreSQL(上)
  • 客观公正地评价MySQL和PostgreSQL的优劣
  • 安装Oracle服务器
  • 如何编写高效的MySQL应用
  • 如何将图片储存在数据库里
  • 如何在你的Linux机器上安装运行Oracle
  • 基于MySQL的高性能数据库应用开发
  • 在RedHat7.1上安装Oracle817数据库
  • 在RedHat 6.0上安装Oracle 8i(全攻略)
  • 在Linux中访问MSSQL(PHP版)
  • 在Linux上建立PostgreSQL数据库服务器
  • 加大MySql的最大连接数
  • 使用MySQL内建复制功能来最佳化可用性
  • 从MySQL导入导出大量数据的程序实现方法
  • 相关软件


    下载首页关于我们广告服务联系方式常见问题隐私声明法律条款本站声明下载帮助发布软件站点地图谷歌卫星地图