技术头条 - 一个快速在微博传播文章的方式     搜索本站
您现在的位置首页 --> MySQL --> MySQL数据库InnoDB存储引擎查询优化器实现的分析

MySQL数据库InnoDB存储引擎查询优化器实现的分析

浏览:1986次  出处信息

一、             目的

分析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查询总结

四、             多表查询

(1).     多表简单JOIN

(2).     BEST_ACCESS_PATH函数分析

a)         总流程分析

b)         代价估计分析

c)         best_access_path函数流程

(3).     OPTIMIZER_SEARCH_DEPTH参数

(4).     多表JOIN查询总结

五、统计信息收集

六、查询优化总结

附录一

附录二

附录三

附录四

建议继续学习:

  1. Mysql查询优化器浅析(上)    (阅读:2541)
  2. MySQL数据库InnoDB存储引擎查询优化器实现的分析之单表查询    (阅读:2490)
  3. Mysql查询优化器浅析(下)    (阅读:2098)
  4. MySQL数据库InnoDB存储引擎查询优化器实现的分析之单表unique查询    (阅读:2109)
  5. MySQL数据库InnoDB存储引擎查询优化器实现的分析之多表简单JOIN查询    (阅读:2033)
  6. MySQL数据库InnoDB存储引擎查询优化器实现的分析之optimizer_search_depth参数    (阅读:1916)
  7. MySQL数据库InnoDB存储引擎查询优化器实现的分析之附录    (阅读:1865)
  8. MySQL数据库InnoDB存储引擎查询优化器实现的分析之统计信息    (阅读:1661)
  9. MySQL数据库InnoDB存储引擎查询优化器实现的分析之best_access_path函数分析    (阅读:1559)
QQ技术交流群:445447336,欢迎加入!
扫一扫订阅我的微信号:IT技术博客大学习
© 2009 - 2024 by blogread.cn 微博:@IT技术博客大学习

京ICP备15002552号-1