赞
踩
OPTIMIZER_TRACE是MySQL5.6引入的一个跟踪功能
本文的目的不是深究查询优化器的实现,只是跟踪optimizer trace在优化器的那一部分输出,因此很多部分只是一带而过,对于需要深究的部分,暂时标注为红色,后续再扩展阅读;之前一直没看过这部分代码,理解起来还是比较困难的…
我们以一个简单的表为例过一下optimizer trace的产生过程:
mysql> show create table sbtest1\G
*************************** 1. row ***************************
Table: zcw1
Create Table: CREATE TABLE `zcw1` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`k` int(10) unsigned NOT NULL DEFAULT '0',
`c` char(120) NOT NULL DEFAULT '',
`pad` char(60) NOT NULL DEFAULT '',
`d` int(11) DEFAULT NULL,
PRIMARY KEY (`id`),
KEY `k` (`k`,`d`)
) ENGINE=InnoDB AUTO_INCREMENT=1000001 DEFAULT CHARSET=gbk MAX_ROWS=1000000
1 row in set (0.00 sec)
</
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。