分享

InnoDB

 sd9527 2011-03-15

innodbInnoDB索引都是BTREE索引
InnoDB索引都是BTREE索引
InnoDB给MySQL提供了具有事务(commit)、回滚(rollback)和崩溃修复能力(crash recovery capabilities)、多版本并发控制(multi-versioned concurrency control)的事务安全(transaction-safe (ACID compliant))型表。

 

行锁定模式

InnoDB 提供了行级锁(locking on row level),提供与Oracle类似的不加锁读取(non-locking read in SELECTs)。这些特性均提高了多用户并发操作的性能表现。在InnoDB表中不需要扩大锁定(lock escalation),因为InnoDB的行级锁定(row level locks)适宜非常小的空间。InnoDB是MySQL上第一个提供外键约束(FOREIGN KEY constraints)的表引擎。

设计模式

InnoDB 的设计目标是处理大容量数据库系统,它的CPU利用率是其它基于磁盘的关系型数据库引擎所不能比的。它自身也有些缺陷,6.x版本以前,在多核CPU的情况下,性能提升并不是太多。

在技术上,InnoDB是一套放在MySQL后台的完整数据库系统,InnoDB在主内存中建立其专用的缓冲池用于高速缓冲数据和索引。InnoDB把数据和索引存放在表空间里,可能包含多个文件,这与其它的不一样,举例来说,在MyISAM 中,表被存放在单独的文件中。InnoDB 表的大小只受限于操作系统的文件大小,可也可以每个表使用各自独立的表空间,只需要启用选项 innodb_file_per_table。

使用范畴

在 http://www./ 上可以找到 InnoDB 最新的信息。InnoDB 手册的最新版本总是被放置在那里,并且在那里可以得到 InnoDB 的商业许可(order commercial licenses)以及支持。

InnoDB 现在(2001年十月)在一些大的需高性能的数据库站点上被使用。著名的 Internet 新闻站点 Slashdot.org 就是使用的 InnoDB。 Mytrix, Inc. 在 InnoDB 表上存储了超过 1 TB 的数据,而且另外的一个站点在 InnoDB 表上处理着平均每秒 800 次的插入/更新的负载。事实上,也有很多中小电子商务网站采用InnoDB作为他们的事务安全数据库引擎,InnoDB已经成为MySQL最重要的存储引擎之一。然而,随着InnoBase被MySQL的竞争对手ORACLE收购后,MySQL就已开始着手开发自己的类InnoDB引擎了,就是Falcon。不幸的消息再次传来,Falcon项目的创始人已经离开MySQL,自立门户了。

在 MySQL 的源代码中,从 3.23.34a 开始包含 InnoDB 表引擎,并在 MySQL -Max 的二进制版本中激活。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多