MySQL数据库InnoDB存储引擎查询优化器实现的分析
一、 目的
分析MySQL数据库的查询优化器如何优化InnoDB存储引擎的查询语句:
(1). 如何实现查询优化的功能?
(2). 为了能实现查询优化,存储引擎需要做哪些方面的配合?
二、 测试准备
MySQL数据库软件版本:5.1.49-debug-log
测试用例的存储引擎:InnoDB
测试用例的表结构:
CREATE TABLE `nkeys` (
`c1` int(11) NOT NULL,
`c2` int(11) DEFAULT NULL,
`c3` int(11) DEFAULT NULL,
`c4` int(11) DEFAULT NULL,
`c5` int(11) DEFAULT NULL,
PRIMARY KEY (`c1`),
UNIQUE KEY `c2` (`c2`),
UNIQUE KEY `c3` (`c3`),
UNIQUE KEY `c4` (`c4`),
KEY `nkey1` (`c3`,`c5`)
) ENGINE=InnoDB DEFAULT CHARSET=gbk
测试用例的数据:
insert into nkeys values (1,1,1,1,1);
insert into nkeys values (2,2,2,2,2);
insert into nkeys values (3,3,3,3,3);
insert into nkeys values (4,4,4,4,4);
insert into nkeys values (5,5,5,5,5);
三、 单表查询
(1). 单表RANGE查询
a) records_in_range函数分析
b) 单表range查询总结
(2). 单表UNIQUE查询
(3). 单表Unique查询总结
四、 多表查询
(2). BEST_ACCESS_PATH函数分析
a) 总流程分析
b) 代价估计分析
c) best_access_path函数流程
(4). 多表JOIN查询总结
建议继续学习:
- Mysql查询优化器浅析(上) (阅读:2609)
- MySQL数据库InnoDB存储引擎查询优化器实现的分析之单表查询 (阅读:2631)
- Mysql查询优化器浅析(下) (阅读:2165)
- MySQL数据库InnoDB存储引擎查询优化器实现的分析之单表unique查询 (阅读:2280)
- MySQL数据库InnoDB存储引擎查询优化器实现的分析之多表简单JOIN查询 (阅读:2223)
- MySQL数据库InnoDB存储引擎查询优化器实现的分析之optimizer_search_depth参数 (阅读:2089)
- MySQL数据库InnoDB存储引擎查询优化器实现的分析之附录 (阅读:1978)
- MySQL数据库InnoDB存储引擎查询优化器实现的分析之统计信息 (阅读:1804)
- MySQL数据库InnoDB存储引擎查询优化器实现的分析之best_access_path函数分析 (阅读:1694)
扫一扫订阅我的微信号:IT技术博客大学习
- 作者:Eugene 来源: MySQLOPS 数据库与运维自动化技术分享
- 标签: 查询优化器
- 发布时间:2012-01-08 22:30:52
Mysql查询优化器浅析(上)
MySQL数据库InnoDB存储引擎查询优化器实现的分析之单表查询
Mysql查询优化器浅析(下)
MySQL数据库InnoDB存储引擎查询优化器实现的分析之单表unique查询
MySQL数据库InnoDB存储引擎查询优化器实现的分析之多表简单JOIN查询
MySQL数据库InnoDB存储引擎查询优化器实现的分析之optimizer_search_depth参数
MySQL数据库InnoDB存储引擎查询优化器实现的分析之附录
MySQL数据库InnoDB存储引擎查询优化器实现的分析之统计信息
MySQL数据库InnoDB存储引擎查询优化器实现的分析之best_access_path函数分析
-
[69] find命令的一点注意事项
-
[53] 读书笔记-壹百度:百度十年千倍的29条法则
-
[38] 小屏幕移动设备网页设计注意事项
-
[37] memory prefetch浅析
-
[36] 卡诺模型―设计品质与设计价值的思考
-
[31] Oracle bbed工具的编译
-
[23] 杨建:网站加速--Cache为王篇
-
[21] 在vim保存时获得sudo权限
-
[21] 程序员技术练级攻略
-
[20] 洋葱式信息安全观察:信息安全与业务浪涌