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查看是否使用到索引相关推荐

  1. mysql中索引创建 查看和删除语句_MySQL如何创建和删除索引?

    mysql索引,mysql创建索引,mysql删除索引 1.在关系数据库中,索引是一种与表有关的数据库结构,它可以使对应于表的SQL语句执行得更快.今天就简单地给大家演示一下mysql中索引的创建,查 ...

  2. mysql查询表的索引_MySQL查看表索引

    mysql> show index from tblname; mysql> show keys from tblname; · Table 表的名称. · Non_unique 如果索引 ...

  3. mysql按升序创建索引_Mysql中的降序索引底层实现

    什么是降序索引 大家可能对索引比较熟悉,而对降序索引比较陌生,事实上降序索引是索引的子集. 我们通常使用下面的语句来创建一个索引: 上面sql的意思是在t1表中,针对b,c,d三个字段创建一个联合索引 ...

  4. mysql建表语句主键索引_MySQL添加主键、索引

    查看索引 SHOW INDEX FROM  数据库表名 比如:SHOW INDEX FROM order_info; 添加索引 alter table 数据库add index 索引名称(数据库字段名 ...

  5. mysql 连接查询索引_Mysql (四)连接查询和索引

    一.什么是连接查询:就是将二个或二个以上的表,"连接起来"当做一个数据源,并从中去取得所须要的数据.连接查询包括交叉连接查询.内连接查询.外连接查询 (一)交叉连接:交叉连接不带W ...

  6. mysql 去掉复合索引_MySQL性能优化[实践篇]-复合索引实例

    上篇文章最后提了个问题 假设某个表有一个**复合索引(c1,c2,c3,c4)**,问以下查询中只能使用该复合索引的c1,c2,c3部分的有那些 1. where c1=x and c2=x and ...

  7. mysql+index组合索引_MySQL 优化之 index merge(索引合并)

    标签: MySQL5.0之前,一条语句中一个表只能使用一个索引,无法同时使用多个索引.但是从5.1开始,引入了 index merge 优化技术,对同一个表可以使用多个索引.理解了 index mer ...

  8. mysql 如何添加索引_MySQL如何创建一个好索引?创建索引的5条建议【宇哥带你玩转MySQL 索引篇(三)】...

    MySQL如何创建一个好索引?创建索引的5条建议 过滤效率高的放前面 对于一个多列索引,它的存储顺序是先按第一列进行比较,然后是第二列,第三列...这样.查询时,如果第一列能够排除的越多,那么后面列需 ...

  9. mysql左模糊 走索引_mysql的模糊查找是否走索引问题

    2019独角兽企业重金招聘Python工程师标准>>> 在数据库中索引对于查找是非常有用的,楼主做了两个实验,插入数据的时候非常慢,楼主是这样实验的: 一:数据库列的索引 ①:首先执 ...

  10. mysql聚集索引_MySQL中怎样创建聚集索引和非聚集索引,求创建这两种索引的SQL语句。谢谢...

    ALTER TABLE t1 ADD INDEX(or CREATE INDEX) ALTER TABLE t1 ADD FULLTEXT INDEX ALTER TABLE t1 ADD COLUM ...

最新文章

  1. url+用户名+密码_URI和URL详解
  2. pandas的series和dataframe
  3. 计算机软件求职信英文,计算机办公软件英文求职信
  4. Failed to read artifact descriptor for xxx:jar:版本号
  5. List接口实现类-ArrayList、Vector、LinkedList集合深入学习以及源代码解析
  6. NFS运维二班--梁瑞
  7. 备份关键信息linux
  8. python IDE比较与推荐
  9. 企业数字化转型到底是什么?带你一图看懂答案
  10. HDU 6178 Monkeys
  11. 缓存 负载均衡_使用“针对临时工作负载优化”选项来保存计划缓存存储
  12. (day 52 - DFS) 剑指 Offer 68 - II. 二叉树的最近公共祖先
  13. layui jquery innerHTML 无效
  14. 关系抽取(分类)总结【转载】
  15. css font-family 字体及各大主流网站对比
  16. Linux学习总结(60)——Linux系统常用命令速查手册
  17. java guardedby_Oracle官方并发教程之Guarded Blocks
  18. 海德也离开了,祝你一路顺风。
  19. 语音信号的时域处理(二)
  20. 决战618!摩杜云爆款秒杀,最低一年3.3元起

热门文章

  1. AdaBoostClassifer详解及实战
  2. Google团队在DNN的实际应用方式的整理
  3. 项目快速开发的几点感悟
  4. 基于matlab的对流层散射信道特性仿真,对流层散射信道建模和FPGA实现
  5. java exchange发邮件_java发送exchange邮件问题
  6. mysql connections参数_MySQL性能优化之max_connections配置参数浅析
  7. numpy 修改数据类型
  8. vue文件快速生成模板代码
  9. python debug 调试工具 pysnooper
  10. 查看ocx控件CLSID的方法