mysql查看使用的索引_Mysql查看是否使用到索引
mysql数据库创建索引优化之后,在查询时想看下是否使用到索引,
使用执行计划查看:
mysql> explain SELECT * FROM tb_user
WHERE STATUS=1 limit 0,20;
+----+-------------+----------------+------------+------+----------------------+----------------------+---------+-------+-------+----------+-------+
| id | select_type | table | partitions | type | possible_keys | key | key_len | ref | rows | filtered | Extra |
+----+-------------+----------------+------------+------+----------------------+----------------------+---------+-------+-------+----------+-------+
| 1 | SIMPLE | tb_news_online | NULL | ref | idx_tb_news_online_9 | idx_tb_news_online_9 | 5 | const | 99494 | 100 | NULL |
+----+-------------+----------------+------------+------+----------------------+----------------------+---------+-------+-------+----------+-------+
1 row in set
mysql>
EXPLAIN列的解释:
table:显示这一行的数据是关于哪张表的
type:这是重要的列,显示连接使用了何种类型。从最好到最差的连接类型为const、eq_reg、ref、range、index和ALL
type显示的是访问类型,是较为重要的一个指标,结果值从好到坏依次是:system > const > eq_ref > ref > fulltext > ref_or_null > index_merge > unique_subquery > index_subquery > range > index > ALL ,一般来说,得保证查询至少达到range级别,最好能达到ref。
possible_keys:显示可能应用在这张表中的索引。如果为空,没有可能的索引。可以为相关的域从WHERE语句中选择一个合适的语句
key: 实际使用的索引。如果为NULL,则没有使用索引。很少的情况下,MYSQL会选择优化不足的索引。这种情况下,可以在SELECT语句中使用USE INDEX(indexname)来强制使用一个索引或者用IGNORE INDEX(indexname)来强制MYSQL忽略索引
key_len:使用的索引的长度。在不损失精确性的情况下,长度越短越好
ref:显示索引的哪一列被使用了,如果可能的话,是一个常数
rows:MYSQL认为必须检查的用来返回请求数据的行数
Extra:关于MYSQL如何解析查询的额外信息。这里可以看到的坏的例子是Using temporary和Using filesort,意思MYSQL根本不能使用索引,结果是检索会很慢
mysql查看使用的索引_Mysql查看是否使用到索引相关推荐
- mysql中索引创建 查看和删除语句_MySQL如何创建和删除索引?
mysql索引,mysql创建索引,mysql删除索引 1.在关系数据库中,索引是一种与表有关的数据库结构,它可以使对应于表的SQL语句执行得更快.今天就简单地给大家演示一下mysql中索引的创建,查 ...
- mysql查询表的索引_MySQL查看表索引
mysql> show index from tblname; mysql> show keys from tblname; · Table 表的名称. · Non_unique 如果索引 ...
- mysql按升序创建索引_Mysql中的降序索引底层实现
什么是降序索引 大家可能对索引比较熟悉,而对降序索引比较陌生,事实上降序索引是索引的子集. 我们通常使用下面的语句来创建一个索引: 上面sql的意思是在t1表中,针对b,c,d三个字段创建一个联合索引 ...
- mysql建表语句主键索引_MySQL添加主键、索引
查看索引 SHOW INDEX FROM 数据库表名 比如:SHOW INDEX FROM order_info; 添加索引 alter table 数据库add index 索引名称(数据库字段名 ...
- mysql 连接查询索引_Mysql (四)连接查询和索引
一.什么是连接查询:就是将二个或二个以上的表,"连接起来"当做一个数据源,并从中去取得所须要的数据.连接查询包括交叉连接查询.内连接查询.外连接查询 (一)交叉连接:交叉连接不带W ...
- mysql 去掉复合索引_MySQL性能优化[实践篇]-复合索引实例
上篇文章最后提了个问题 假设某个表有一个**复合索引(c1,c2,c3,c4)**,问以下查询中只能使用该复合索引的c1,c2,c3部分的有那些 1. where c1=x and c2=x and ...
- mysql+index组合索引_MySQL 优化之 index merge(索引合并)
标签: MySQL5.0之前,一条语句中一个表只能使用一个索引,无法同时使用多个索引.但是从5.1开始,引入了 index merge 优化技术,对同一个表可以使用多个索引.理解了 index mer ...
- mysql 如何添加索引_MySQL如何创建一个好索引?创建索引的5条建议【宇哥带你玩转MySQL 索引篇(三)】...
MySQL如何创建一个好索引?创建索引的5条建议 过滤效率高的放前面 对于一个多列索引,它的存储顺序是先按第一列进行比较,然后是第二列,第三列...这样.查询时,如果第一列能够排除的越多,那么后面列需 ...
- mysql左模糊 走索引_mysql的模糊查找是否走索引问题
2019独角兽企业重金招聘Python工程师标准>>> 在数据库中索引对于查找是非常有用的,楼主做了两个实验,插入数据的时候非常慢,楼主是这样实验的: 一:数据库列的索引 ①:首先执 ...
- mysql聚集索引_MySQL中怎样创建聚集索引和非聚集索引,求创建这两种索引的SQL语句。谢谢...
ALTER TABLE t1 ADD INDEX(or CREATE INDEX) ALTER TABLE t1 ADD FULLTEXT INDEX ALTER TABLE t1 ADD COLUM ...
最新文章
- url+用户名+密码_URI和URL详解
- pandas的series和dataframe
- 计算机软件求职信英文,计算机办公软件英文求职信
- Failed to read artifact descriptor for xxx:jar:版本号
- List接口实现类-ArrayList、Vector、LinkedList集合深入学习以及源代码解析
- NFS运维二班--梁瑞
- 备份关键信息linux
- python IDE比较与推荐
- 企业数字化转型到底是什么?带你一图看懂答案
- HDU 6178 Monkeys
- 缓存 负载均衡_使用“针对临时工作负载优化”选项来保存计划缓存存储
- (day 52 - DFS) 剑指 Offer 68 - II. 二叉树的最近公共祖先
- layui jquery innerHTML 无效
- 关系抽取(分类)总结【转载】
- css font-family 字体及各大主流网站对比
- Linux学习总结(60)——Linux系统常用命令速查手册
- java guardedby_Oracle官方并发教程之Guarded Blocks
- 海德也离开了,祝你一路顺风。
- 语音信号的时域处理(二)
- 决战618!摩杜云爆款秒杀,最低一年3.3元起