专题报道:《存储引擎InnoDB》
InnoDB 是 MySQL 上第一个提供外键约束的数据存储引擎,除了提供事务处理外,InnoDB 还支持行锁,提供和 Oracle 一样的一致性的不加锁读取,能增加并发读的用户数量并提高性能,不会增加锁的数量。InnoDB 的设计目标是处理大容量数据时最大化性能,它的 CPU 利用率是其他所有基于磁盘的关系数据库引擎中最有效率的。- 2011/8/17 13:50:40mysql innodb 文件相关的三个重要结构体
- 我们使用mysql,常使用innodb存储引擎,它包括两种,一种是innobase,另外一种是innodb plugin。今天主要介绍innodb plugin的file i/o操作,innodb plugin存储引擎的文件操作主要包括下面三个重要的结构体:fil_node_struce 一个node对应着一个文件fil_space_struct 一个space对应着一个tablespacefil[阅读全文]
- 专题:存储引擎InnoDB作者:Data & Architecture DBA
- 2011/9/14 13:34:22Innodb 中 rec_get_offsets 的使用注意点
- 在innodb中使用rec_get_offsets来获取一条rec_t的各个字段的偏移量整个rec_get_offsets的形式为:/******************************************************//**the following function determines the offsets to each fieldin the record. i[阅读全文]
- 专题:存储引擎InnoDB作者:jm
- 2011/9/14 13:35:00Row Cache For Innodb
- 最近在做mysql的优化,看到现在mysql分表分库后导致的内存利用率较低的问题,进行了优化,如果你也有类似的问题,可以试试下面的patchpatch下载:http://code.google.com/p/row-cache-for-innodb/问题 当一个mysql存不下全部的数据时,那么分库分表是一种常规的解决方案.但是一旦分库分表之后,关系型数据库对应的关系实际上被弱化了,很多查询不得不转[阅读全文]
- 专题:存储引擎InnoDB作者:jm
- 2012/1/8 22:24:13MySQL数据库InnoDB存储引擎查询优化器实现的分析之单...
- 1.1 单表unique查询select * from nkeys where c3 = 3;调用流程:mysql_execute_command -> handle_select -> mysql_select -> join_optimize -> make_join_statistics ->if ((table->key_info[key].flags [阅读全文]
- 专题:存储引擎InnoDB作者:Eugene
- 2012/1/8 22:25:04MySQL数据库InnoDB存储引擎查询优化器实现的分析之单...
- 1 单表查询1.1 单表range查询1) select * from nkeys where c3 > 3; 不能进行索引覆盖扫描 index range scan2) select c3 from nkeys where c3 > 3; 可以进行索引覆盖扫描 index only range scan调用流程:msyql_select -> join::optimize -&[阅读全文]
- 专题:存储引擎InnoDB作者:Eugene
- 2012/1/8 22:26:22MySQL数据库InnoDB存储引擎查询优化器实现的分析之opt...
- 1.1 optimizer_search_depth参数以上提到的greedy_search+best_extension_by_limited_search函数,通过search_depth参数控制递归调用的深度。而search_depth参数,可通过optimizer_search_depth来设置。一般而言,如果optimizer_search_depth设置过大,那么join时,获取最优执[阅读全文]
- 专题:存储引擎InnoDB作者:Eugene
- 2012/1/8 22:27:17MySQL数据库InnoDB存储引擎查询优化器实现的分析之bes...
- 1.1 best_access_path函数分析同样是使用4.1章节中的测试语句:select * from nkeys, aaa where nkeys.c3 = aaa.a3 and aaa.a2 = 2;1.1.1 总流程分析根据4.1章节的分析,join涉及到两张表,同时search_depth参数设置为62. n < search_depth,复杂度为o(n!) = 2! = 2([阅读全文]
- 专题:存储引擎InnoDB作者:Eugene
- 2012/1/8 22:28:45MySQL数据库InnoDB存储引擎查询优化器实现的分析之多...
- 1 多表查询1.1 多表简单joinselect * from nkeys, aaa where nkeys.c3 = aaa.a3 and aaa.a2 = 2;具体nkeys,aaa表的表定义,在附录一:aaa表;附录四:nkeys表中给出。调用主流程:1. mysql_select ->join::optimize -> make_join_statistics ->sql[阅读全文]
- 专题:存储引擎InnoDB作者:Eugene