返回顶部
首页 > 资讯 > 数据库 >MySql学习笔记(七):explain-索引的使用情况
  • 230
分享到

MySql学习笔记(七):explain-索引的使用情况

2024-04-02 19:04:59 230人浏览 泡泡鱼
摘要

主要内容:explain的possible_key、key、key_len、ref、rows入门。1、possible_key表示在查询过程中可能用到的索引。查询涉及到的字段上如果有索引,则该索引会出现在p

主要内容:explain的possible_key、key、key_len、ref、rows入门

1、possible_key

表示在查询过程中可能用到的索引。查询涉及到的字段上如果有索引,则该索引会出现在possible_key列中表示可能用到,但实际上并不一定会用到。例:

Mysql> explain select * from t_blog where id = 1;

+----+-------------+--------+-------+---------------+---------+---------+-------+------+-------+
| id | select_type | table  | type  | possible_keys | key     | key_len | ref   | rows | Extra |
+----+-------------+--------+-------+---------------+---------+---------+-------+------+-------+
|  1 | SIMPLE      | t_blog | const | PRIMARY       | PRIMARY | 4       | const |    1 |       |
+----+-------------+--------+-------+---------------+---------+---------+-------+------+-------+
1 row in set

因为id是t_blog的主键,查询时涉及到了该字段,possible_key列中有主键字样。

2、key

表示再查询过程中实际用到的索引,如果为null则表示没有用到索引

如上例,key为主键,表示查询过程中用到了主键。完整解读:理论上要用到主键,实际上确实用到了主键。

存在理论上应该用到某索引,但实际上没有用到,即索引失效;

如果查询中使用了覆盖索引(select子句与符合索引顺序和字段完全相同),possible_key为null,key为覆盖索引。

3、key_len

索引中使用的字节数,越短越好。这个值表示最大可能使用长度而不是实际使用长度,例如:

mysql> explain select * from t_blog where title = 'C语言精讲';
+----+-------------+--------+------+---------------+---------+---------+-------+------+--------------------------+
| id | select_type | table  | type | possible_keys | key     | key_len | ref   | rows | Extra                    |
+----+-------------+--------+------+---------------+---------+---------+-------+------+--------------------------+
|  1 | SIMPLE      | t_blog | ref  | index_1       | index_1 | 153     | const |    1 | Using where; Using index |
+----+-------------+--------+------+---------------+---------+---------+-------+------+--------------------------+
1 row in set

此时,查询条件多一个:

mysql> explain select * from t_blog where title = 'C语言精讲' and typeId = 2;
+----+-------------+--------+------+---------------+---------+---------+-------------+------+--------------------------+
| id | select_type | table  | type | possible_keys | key     | key_len | ref         | rows | Extra                    |
+----+-------------+--------+------+---------------+---------+---------+-------------+------+--------------------------+
|  1 | SIMPLE      | t_blog | ref  | index_1       | index_1 | 158     | const,const |    1 | Using where; Using index |
+----+-------------+--------+------+---------------+---------+---------+-------------+------+--------------------------+
1 row in set

查询条件变多,精度变高,同时key_len也在变大。

4、ref

显示索引的哪一列被使用了,可能的话是一个常量。

一共有两种格式:

1>const:常量,where <索引>='常量'

2><数据库名>.<表名>.<字段名> :某数据库中的某表中的某列被使用

5、rows

每张表有多少行被优化器查询







您可能感兴趣的文档:

--结束END--

本文标题: MySql学习笔记(七):explain-索引的使用情况

本文链接: https://lsjlt.com/news/38960.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • MySql学习笔记(七):explain-索引的使用情况
    主要内容:explain的possible_key、key、key_len、ref、rows入门。1、possible_key表示在查询过程中可能用到的索引。查询涉及到的字段上如果有索引,则该索引会出现在p...
    99+
    2024-04-02
  • MySQL学习笔记(9):索引
    本文更新于2019-07-27,使用MySQL 5.7,操作系统为Deepin 15.4。 目录能够使用索引的典型场景存在索引但不能使用索引的典型场景查看索引使用情况 在创建一个n列的复合索引时,实际是创建了n个索引。可利用索引中...
    99+
    2018-09-17
    MySQL学习笔记(9):索引
  • MySql学习笔记(九):索引失效
    数据准备:CREATE TABLE `t_blog` (   `id` int(11) NOT NULL auto_increment,   `title` varchar(50) default...
    99+
    2024-04-02
  • 【MongoDB学习笔记20】MongoDB的索引
    MongoDB的索引和关系型数据库的索引概念和功能是相同的:(1)不使用索引的搜索可以称为全表扫面,也就是说,服务器必须找完整个表才能查询整个结果;(2)建立索引后搜索,查询在索引中搜索,在索引的条目中找到...
    99+
    2024-04-02
  • Oracle学习笔记之视图及索引的使用
    目录一、视图的使用1.概念2.视图分类3.视图语法4.视图实例 二、索引1.索引概念2.索引分类2.1、按物理存储方式分类2.2、按逻辑功能分类3.索引原则4.索引语法一、视图的使用 1.概念 视图概念:&nb...
    99+
    2022-07-19
    Oracle视图使用 Oracle索引使用
  • 【MongoDB学习笔记27】MongoDB的TTL索引
    TTL索引(time-to-live index)允许为每一个文档设置一个超时时间,文档超过这个时间就会被删除。在ensureIndex中指定expireAfterSecs选项就可以创建一个TTL索引:&g...
    99+
    2024-04-02
  • mysql学习笔记之索引类型B-TREE介绍
    B-tree索引是MySQL数据库中使用最为频繁的索引类型,特别是在innodb中经常使用;在其他数据库中b-tree索引也同样是作为最主要的索引类型的,这主要是因为b-tree索引的存储结构在数据库的数据检索中有着非常优异的表现。 这种索...
    99+
    2022-02-03
    mysql学习笔记之索引类型B-TREE介绍
  • 【MongoDB学习笔记21】MongoDB的复合索引
    索引的值是按照一定顺序排列的,因此使用索引键对文档进行搜索排序比较快;但是只有首先使用索引进行排序时,索引才有用;例如下面的排序里,“username”上的索引就没有起作用:> db.use...
    99+
    2024-04-02
  • 【MongoDB学习笔记22】MongoDB的索引管理
    使用ensureIndex函数创建集合的索引。对集合而言,每个索引只需要创建一次,重复创建没有任何作用;> show collections    s...
    99+
    2024-04-02
  • 【MongoDB学习笔记25】MongoDB的索引类型
    创建索引可以指定一些选项,使用不同的选项建立的索引会有不同的行为。 一、唯一索引唯一索引可以确保每一个文档的指定键都有唯一的值。例如,想确定文档中的username键不重复,创建一个唯一索引:&g...
    99+
    2024-04-02
  • DB2查看索引的使用情况
    db2pd可以查看应用对数据库中的表和索引的访问情况 db2pd -db dbname -tcbstats all -file db2pd_tab_all.txt 有时候,你只想查看对某一个表和其上的...
    99+
    2024-04-02
  • MySQL学习(七):Innodb存储引擎索引的实现原理
    概述 在数据库当中,索引就跟树的目录一样用来加快数据的查找速度,对于一个SQL查询操作,根据索引快速过滤掉不符合要求的数据并定位到符合要求的数据,从而不需要扫描整个表来获取所需的数据。在innodb存储引擎...
    99+
    2024-04-02
  • MySQL中索引+explain的使用示例
    这篇文章给大家分享的是有关MySQL中索引+explain的使用示例的内容。小编觉得挺实用的,因此分享给大家做个参考。一起跟随小编过来看看吧。一、索引的介绍在mysql中,索引就是数据结构,已经在文件中按照...
    99+
    2024-04-02
  • Mysql学习笔记2--使用入门
    ---创建数据库kakaxi mysql> create database kakaxi; Query OK, 1 row affected (0.02 sec) ---要知道系统中有哪些数据库,可...
    99+
    2024-04-02
  • 学习笔记:如何使用 PHP 索引来编写高效的程序?
    在 PHP 中,索引是一个非常重要的概念。它可以帮助我们快速地访问和操作数组中的数据。在本篇文章中,我们将介绍如何使用 PHP 索引来编写高效的程序。 一、什么是索引? 索引是一个指向数组中特定元素的指针。它可以是数字或字符串类型。在 P...
    99+
    2023-09-23
    索引 学习笔记 编程算法
  • MySQL (InnoDB)在什么情况下无法使用索引
    目录1. 前置知识1.1 InnoDB 索引结构2. 什么情况下不能使用索引2.1 索引列在表达式或函数中【必】2.2 联合索引中,非最左前缀【必】2.3 联合索引中,最左前缀,但是中间有范围查询,那么范围查询后面的列都用不到索引【必】2....
    99+
    2016-04-15
    MySQL (InnoDB)在什么情况下无法使用索引 数据库入门 数据库基础教程
  • 【MongoDB学习笔记23】MongoDB的索引对象和数组
    MongoDB允许深入文档内部,对嵌套字段和数组建立索引;嵌套对象和数组字段可以和复合索引中的顶级字段一起使用,多数情况下与“正常”索引字段的行为也是一致的。 一、索引嵌套文档例如,集合中的文档如...
    99+
    2024-04-02
  • MySql学习笔记(五):explain-数据读取操作的操作类型
    explain命令如下:mysql> explain select * from t_blog; +----+-------------+-...
    99+
    2024-04-02
  • MySQL索引不会被用到的情况汇总
    MySQL中索引的类型 一般可分为四类: 普通索引:最普通的索引 唯一索引:索引列的值必须唯一,但允许有空值 主键索引:一种特殊的唯一索引,不允许有空值 联合索引:索引列有多个字段,使用...
    99+
    2024-04-02
  • ASP 大数据索引学习笔记,带你掌握全面的索引知识!
    随着大数据时代的到来,数据量不断增加,如何高效地查询数据成为了一项重要的技能。索引作为一种常用的数据结构,可以帮助我们在海量数据中快速定位所需信息。本篇文章将带你深入学习 ASP 大数据索引,掌握全面的索引知识。 一、什么是索引? 索引是...
    99+
    2023-10-22
    大数据 索引 学习笔记
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作