专题报道:《存储引擎InnoDB》
InnoDB 是 MySQL 上第一个提供外键约束的数据存储引擎,除了提供事务处理外,InnoDB 还支持行锁,提供和 Oracle 一样的一致性的不加锁读取,能增加并发读的用户数量并提高性能,不会增加锁的数量。InnoDB 的设计目标是处理大容量数据时最大化性能,它的 CPU 利用率是其他所有基于磁盘的关系数据库引擎中最有效率的。- 2009/12/15 22:29:11Innodb文件表空间结构
- innodb的表空间是在配置文件中定义(说是表空间有时觉的有点羞愧,和oracle比真的差太远了),这里简单列一下表空间里的基本概念及表的分配情况。 表空间是在配置文件中定义的几个文件简单的耦合起来,在使用中互不可少(少一个就面临db完蛋的危险)。对于共享表空间无法确定表所在的表空间上。 独立表空间可以做到每个表有自已的表空间(羞一下)。 针对共享表空间,表空间中包括:回滚段,段(segment[阅读全文]
- 专题:存储引擎InnoDB作者:wubx
- 2010/1/4 13:13:30InnoDB线程并发检查机制
- innodb在接受mysql线程调用时,有一个并发线程的检查机制,通过innodb_thread_concurrency参数进行控制。如果参数设置大于0,则表示检查机制开启,允许进入的线程数就是参数的值。等于0则禁用并发检查。在新的mysql线程调用innodb接口前,innodb会检查已经接受的请求线程数,如已经超过innodb_thread_concurrency设置的限制,则该请求线程会等待[阅读全文]
- 专题:存储引擎InnoDB作者:DBA@Taobao
- 2010/1/7 13:29:19Innodb 多版本实现
- innodb是一个多版本的存储引擎,它可以把旧的行信息存到表空间中。这些旧的行信息存储到innodb称为的回滚段的表空间中。 innodb为实现多版本,innodb在每一行添加了三个列。一个6字节的db_trx_id字段用来表示事务的insert或是update操作,对于delete操作实际上也并不在直接删除,只是用一个bit位去标识行被删除。另外,每行包括7字节的db_roll_ptr字段,称[阅读全文]
- 专题:存储引擎InnoDB作者:wubx
- 2010/2/25 9:29:49InnoDB线程并发检查机制
- innodb在接受mysql线程调用时,有一个并发线程的检查机制,通过innodb_thread_concurrency参数进行控制。如果参数设置大于0,则表示检查机制开启,允许进入的线程数就是参数的值。等于0则禁用并发检查。在新的mysql线程调用innodb接口前,innodb会检查已经接受的请求线程数,如已经超过innodb_thread_concurrency设置的限制,则该请求线程会等待[阅读全文]
- 专题:存储引擎InnoDB作者:DBA@Taobao
- 2010/2/26 9:07:49Innodb 表和索引结构
- 表的结构:对于mysql把有的存储引擎都是把表结构的定义存放到.frm文件中。但对于innodb表同时有一个内部的字典存放到表空间中。所以对于innodb表不能单纯的移动.frm在不同的mysql事例下。对于innodb引擎的表,如果mysql 删除相应的表或数据库,同时会删除相应的.frm及在表空间的相应的字典信息。在.frm文件只是用来定义表的结构,innodb把数据和索引都存放到了表空间中。[阅读全文]
- 专题:存储引擎InnoDB作者:wubx
- 2010/3/1 14:01:29InnoDB Double write
- 记得刚开始看innodb文档的时候,double write一节(其实只有一小段)就让我很困惑。无奈当时内力太浅,纠缠了很久也没弄明白。时隔几个月,重新来整理一下。涉及到的概念:buffer pool简称bp,dirty page,log file,flush,innodb tablespace。1. 什么是double write在innodb将bp中的dirty page刷(flush)到磁盘[阅读全文]
- 专题:存储引擎InnoDB作者:DBA@Taobao
- 2010/3/18 9:02:29MySQL不同分支版本的压力测试
- 压力测试的目的:通过压力测试了解一下不同发行版本的性能区别。mysql不的版本测试,mysql同样的配置具体版本如下:mysql-5.1.42企业版+innodb-pluginmysql-5.1.42企业版+默认的innodbmysql-5.1.43开源版+ innodb-pluginmysql-5.1.43 percona压力设置创建一个1kw的innodb表,使用16个并发去进行读取写入更新事[阅读全文]
- 专题:存储引擎InnoDB作者:wubx
- 2010/4/15 9:47:43MySQL数据库存储引擎和分支现状
- 在mysql经历了2008年sun的收购和2009年oracle收购sun的过程中,基本处于停滞发展的情况,在可以预见的未来,mysql是肯定会被oracle搁置并且逐步雪藏消灭掉的。mysql随着相应的各主创和内部开发人员的离去,缔造了各个不同的引擎和分支,让mysql有希望继续发扬光大起来。本文大致讲解一下mysql目前除了主要的 myisam、innodb、heap(memory)、ndb [阅读全文]
- 专题:存储引擎InnoDB作者:heiyeluren