mysql5.7版本的explain解析

时间:2021-06-15 17:54:06   收藏:0   阅读:0

为什么数据库中要使用B+tree索引,而不用hash索引?MySQL中的B+tree索引介绍》 

看完以上这篇文章,明白B+tree索引结构,对explain解析更有帮助。

 

建立 t_user 表并建立3个B+tree索引

先在mysql中建个表:

CREATE TABLE `t_user`  (
  `id` int(6) NOT NULL AUTO_INCREMENT,
  `name` varchar(30) CHARACTER SET latin1 COLLATE latin1_swedish_ci NOT NULL,
  `age` int(4) NOT NULL DEFAULT 20,
  `address` varchar(30) CHARACTER SET latin1 COLLATE latin1_swedish_ci NOT NULL default ‘‘,
  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
  `version` int(4) NOT NULL DEFAULT 0,
  PRIMARY KEY (`id`) USING BTREE,
  UNIQUE INDEX `idx_name`(`name`) USING BTREE,
  INDEX `idx_age_address`(`age`, `address`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 15 CHARACTER SET = latin1 COLLATE = latin1_swedish_ci ROW_FORMAT = DYNAMIC;

这个DDL创建了3个B+tree索引,我都用黄色背景标出来了。现在开始使用explain对各种查询进行分析:

 

1、type = ALL 是全表扫描

EXPLAIN select * from t_user; -- 全表扫描

 技术图片

 

 

 

 

 

end.

 

评论(0
© 2014 mamicode.com 版权所有 京ICP备13008772号-2  联系我们:gaon5@hotmail.com
迷上了代码!