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数据库InnoDB存储引擎查询优化器实现的分析之单表查询 (阅读:3234)
- Mysql查询优化器浅析(上) (阅读:3233)
- MySQL数据库InnoDB存储引擎查询优化器实现的分析之单表unique查询 (阅读:2788)
- MySQL数据库InnoDB存储引擎查询优化器实现的分析之多表简单JOIN查询 (阅读:2801)
- MySQL数据库InnoDB存储引擎查询优化器实现的分析之optimizer_search_depth参数 (阅读:2805)
- Mysql查询优化器浅析(下) (阅读:2693)
- MySQL数据库InnoDB存储引擎查询优化器实现的分析之附录 (阅读:2292)
- MySQL数据库InnoDB存储引擎查询优化器实现的分析之best_access_path函数分析 (阅读:2180)
- MySQL数据库InnoDB存储引擎查询优化器实现的分析之统计信息 (阅读:1991)
扫一扫订阅我的微信号:IT技术博客大学习
- 作者:Eugene 来源: MySQLOPS 数据库与运维自动化技术分享
- 标签: 查询优化器
- 发布时间:2012-01-08 22:30:52
MySQL数据库InnoDB存储引擎查询优化器实现的分析之单表查询
Mysql查询优化器浅析(上)
MySQL数据库InnoDB存储引擎查询优化器实现的分析之单表unique查询
MySQL数据库InnoDB存储引擎查询优化器实现的分析之多表简单JOIN查询
MySQL数据库InnoDB存储引擎查询优化器实现的分析之optimizer_search_depth参数
Mysql查询优化器浅析(下)
MySQL数据库InnoDB存储引擎查询优化器实现的分析之附录
MySQL数据库InnoDB存储引擎查询优化器实现的分析之best_access_path函数分析
MySQL数据库InnoDB存储引擎查询优化器实现的分析之统计信息
-
[928] WordPress插件开发 -- 在插件使用 -
[134] 解决 nginx 反向代理网页首尾出现神秘字 -
[52] 整理了一份招PHP高级工程师的面试题 -
[52] 如何保证一个程序在单台服务器上只有唯一实例( -
[51] 用 Jquery 模拟 select -
[50] 海量小文件存储 -
[50] Innodb分表太多或者表分区太多,会导致内 -
[50] 全站换域名时利用nginx和javascri -
[49] CloudSMS:免费匿名的云短信 -
[47] jQuery性能优化指南