首页 > 其他 > 详细

b+树索引和explain

时间:2018-06-20 10:48:20      阅读:408      评论:0      收藏:0      [点我收藏+]

 

desc table_name
show create table
show index from table_name
cardinality列不重复值的个数 预估的值 通过采样的形式
select count(1)from table_name;
5.5 show create table 会触发采样 5.6 关闭掉 analyze table 触发采样
低选择性的不用创建索引 高选择性的创建索引
复合索引
select * from xxx where a=?会使用索引
select * from xxx where a=? and b=?会使用索引
(a,b)复合索引对a和ab排序
select * from xxx where b=?不会用到索引
selet *from xxx where a=? or b=?不会用到
如图1

技术分享图片

 

技术分享图片

 


通过执行计划explain
select *from xxx where a=?(a,b,c)\c
select *from xxx where a=?and b=?(a,b,c)\c
select *from xxx where a=?and b=? and c=?(a,b,c)\c
select *from xxx where a=?and c=?(a,b,c)\c
a=?and c=?只有a排序 其他的都是过滤
b c也是不排序的
索引为什么可以快速定位数据,是因为索引是排序的,通过b+树查找是很快的
select * from limit 10;是随机取的10条数据
information_schema.key_column_usage数据字典
1 查看索引carinality存放的元数据表
2 查看线上数据库索引cardinality的值,判断索引创建是否合理,并写出这条sql语句

explain命令
显示sql语句的执行计划
5.6版本支持dml语句
5.6版本开始支持json格式的输出
log_queries_not_using_indexes参数
desc sql语句
show warnings
desc format=json sql语句

技术分享图片

 

b+树索引和explain

原文:https://www.cnblogs.com/lvjinping/p/9202547.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!