专注于互联网--专注于架构

最新标签
网站地图
文章索引
Rss订阅

首页 »数据库 » mysql数据库:通过数据库引擎来加速MySQL数据库 »正文

mysql数据库:通过数据库引擎来加速MySQL数据库

来源: 发布时间:星期日, 2009年8月16日 浏览:0次 评论:0
  如果你是个赛车手并且按下按钮就能够立即更换引擎而不需要把车开到车库里去换那会是什么感觉呢?MySQL数据库为开发人员所做就好像是按按钮换引擎; 它让你选择数据库引擎并给你条简单途径来切换它

  MySQL自带引擎肯定是够用了但是在有些情况下其他引擎可能要比手头所用更适合完成任务如果愿意你甚至可以使用MySQL API来创建自己数据库引擎就像打穿气缸装上自己化油器现在让我们来看看你该如何选择引擎以及如何在可用引擎的间切换

  选择你引擎

  你能用数据库引擎取决于MySQL在安装时候是如何被编译要添加个新引擎就必须重新编译MySQL仅仅为了添加个特性而编译应用概念对于Windows开发人员来说可能很奇怪但是在UNIX世界里这已经成为了标准在缺省情况下MySQL支持 3个引擎:ISAM、MyISAM和HEAP另外两种类型InnoDB和Berkley(BDB)也常常可以使用

  ISAM

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

  MyISAM

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

  MyISAM强调了快速读取操作这可能就是为什么MySQL受到了Web开发如此青睐主要原因:在Web开发中你所进行大量数据操作都是读取操作所以大多数虚拟主机提供商和Internet平台提供商(Internet Presence ProviderIPP)只允许使用MyISAM格式

  HEAP

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

  InnoDB和Berkley DB

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

  如果感觉自己确技术高超你还能够使用MySQL来创建自己数据库引擎这个API为你提供了操作字段、记录、表格、数据库、连接、安全帐号功能以及建立诸如MySQL这样DBMS所需要所有其他无数功能深入讲解API已经超出了本文范围但是你需要了解MySQL存在及其可交换引擎背后技术点是很重要估计这个插件式数据库引擎模型甚至能够被用来为MySQL创建本地XML提供器(XML provider)(任何读到本文MySQL开发人员可以把这点当作是个要求)
0

相关文章

读者评论

发表评论

  • 昵称:
  • 内容: