博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
b+树索引和explain
阅读量:5170 次
发布时间:2019-06-13

本文共 963 字,大约阅读时间需要 3 分钟。

 

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语句

 

转载于:https://www.cnblogs.com/lvjinping/p/9202547.html

你可能感兴趣的文章
[Linux]文件浏览
查看>>
获取国内随机IP的函数
查看>>
今天第一次写博客
查看>>
江城子·己亥年戊辰月丁丑日话凄凉
查看>>
Spring Mvc模式下Jquery Ajax 与后台交互操作
查看>>
(转)matlab练习程序(HOG方向梯度直方图)
查看>>
面试整理:Python基础
查看>>
Program exited with code **** 相关解释
查看>>
tableView
查看>>
Happy Great BG-卡精度
查看>>
Xamarin Visual Studio不识别JDK路径
查看>>
菜鸟“抄程序”之道
查看>>
Ubuntu下关闭防火墙
查看>>
TCP/IP 邮件的原理
查看>>
原型设计工具
查看>>
windows下的C++ socket服务器(4)
查看>>
css3 2d转换3d转换以及动画的知识点汇总
查看>>
【Java】使用Eclipse进行远程调试,Linux下开启远程调试
查看>>
计算机改名导致数据库链接的诡异问题
查看>>
Java8内存模型—永久代(PermGen)和元空间(Metaspace)(转)
查看>>