返回顶部
首页 > 资讯 > 数据库 >Mysql如何查看是否使用到索引
  • 334
分享到

Mysql如何查看是否使用到索引

Mysql查看索引Mysql索引Mysql是否使用索引 2022-12-22 11:12:06 334人浏览 八月长安
摘要

目录Mysql查看是否使用到索引EXPLaiN列的解释mysql查看索引使用情况总结Mysql查看是否使用到索引 mysql数据库创建索引优化之后,在查询时想看下是否使用到索引, 使用执行计划查看: 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如何解析查询的额外信息。将在表4.3中讨论,但这里可以看到的坏的例子是Using temporary和Using filesort,意思MYSQL根本不能使用索引,结果是检索会很慢

MySQL查看索引使用情况

show status like 'Handler_read%'; 

show global status like 'Handler_read%';

Mysql如何查看是否使用到索引

  • Handler_read_first:索引中第一条被读的次数。如果较高,表示服务器正执行大量全索引扫描(这个值越低越好)。
  • Handler_read_key:如果索引正在工作,这个值代表一个行被索引值读的次数,如果值越低,表示索引得到的性能改善不高,因为索引不经常使用(这个值越高越好)。
  • Handler_read_next :按照键顺序读下一行的请求数。如果你用范围约束或如果执行索引扫描来查询索引列,该值增加。
  • Handler_read_prev:按照键顺序读前一行的请求数。该读方法主要用于优化ORDER BY ... DESC。
  • Handler_read_rnd :根据固定位置读一行的请求数。如果你正执行大量查询并需要对结果进行排序该值较高。你可能使用了大量需要MySQL扫描整个表的查询或你的连接没有正确使用键。这个值较高,意味着运行效率低,应该建立索引来补救。
  • Handler_read_rnd_next:在数据文件中读下一行的请求数。如果你正进行大量的表扫描,该值较高。通常说明你的表索引不正确或写入的查询没有利用索引。

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。

您可能感兴趣的文档:

--结束END--

本文标题: Mysql如何查看是否使用到索引

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

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

猜你喜欢
  • Mysql如何查看是否使用到索引
    目录mysql查看是否使用到索引EXPLAIN列的解释MySQL查看索引使用情况总结Mysql查看是否使用到索引 mysql数据库创建索引优化之后,在查询时想看下是否使用到索引, 使用执行计划查看: mysql> ...
    99+
    2022-12-22
    Mysql查看索引 Mysql索引 Mysql是否使用索引
  • mysql如何查看索引是否生效
    要查看MySQL索引是否生效,可以通过以下几种方法来进行: 使用EXPLAIN语句:可以在查询语句前加上EXPLAIN关键字,来查...
    99+
    2024-04-18
    mysql
  • oracle怎么查看索引是否被使用
    你可以使用Oracle的性能监视工具来查看索引是否被使用。1. 首先,你需要登录到Oracle数据库的系统或者特权用户。2. 执行以...
    99+
    2023-08-20
    oracle
  • 怎么查看oracle索引是否生效
    要查看Oracle索引是否生效,可以使用以下方法: 使用EXPLAIN PLAN语句:可以在查询语句前加上”EXPLAIN PLA...
    99+
    2024-04-09
    oracle
  • MySQL查看哪些索引未使用
    SELECT OBJECT_SCHEMA, OBJECT_NAME, INDEX_NAME FROM performance_schema.table_io_waits_summary_by_ind...
    99+
    2024-04-02
  • mysql如何查看表索引信息
    要查看MySQL表的索引信息,可以使用以下命令: 1、查看表的所有索引: SHOW INDEX FROM 表名; 例如,要查看名为...
    99+
    2024-04-15
    mysql
  • linux如何查看是否使用raid
    这篇文章主要介绍“linux如何查看是否使用raid”,在日常操作中,相信很多人在linux如何查看是否使用raid问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”linux如何查看是否使用raid”的疑惑有所...
    99+
    2023-06-30
  • MySQL如何查看是否锁表
    这篇文章将为大家详细讲解有关MySQL如何查看是否锁表,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。 可直接在mysql命令行执行:show engine in...
    99+
    2024-04-02
  • 如何查看mysql是否启动
    如何查看 mysql 是否启动 MySQL 启动状态的查看方法如下: 1. 使用命令行 在终端或命令提示符中运行以下命令: ps -ef | grep mysql 这将显示所有正在运行的...
    99+
    2024-06-15
    mysql linux
  • 如何查看mysql是否开启
    如何查看 mysql 是否已开启?检查系统进程:ps -ef | grep mysql(如果返回 mysqld 进程,则已开启);使用 mysql 命令行工具:show variable...
    99+
    2024-06-15
    mysql
  • 如何查看mysql是否运行
    要检查 mysql 是否正在运行,您可以使用以下方法:使用终端命令(linux/macos:sudo service mysql status;windows:netstat -ano ...
    99+
    2024-08-01
    mysql linux access macos
  • mysql索引是否可以自动使用
    本文主要给大家介绍mysql索引是否可以自动使用,文章内容都是笔者用心摘选和编辑的,具有一定的针对性,对大家的参考意义还是比较大的,下面跟笔者一起了解下mysql索引是否可以自动使用吧。MYSQL在创建索引...
    99+
    2024-04-02
  • 怎样使用mysql innodb查看索引高度
    这期内容当中小编将会给大家带来有关怎样使用mysql innodb查看索引高度,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。首先获取表上的索引情况mysql>&nb...
    99+
    2024-04-02
  • mysql如何判断索引是否存在
    本文小编为大家详细介绍“mysql如何判断索引是否存在”,内容详细,步骤清晰,细节处理妥当,希望这篇“mysql如何判断索引是否存在”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。...
    99+
    2024-04-02
  • mongodb如何查看表索引
    在MongoDB中,可以使用以下方法来查看表的索引:1. 使用`db.collection.getIndexes()`方法:该方法可...
    99+
    2023-09-11
    mongodb
  • linux如何查看mysql是否运行
    这篇文章主要讲解了“linux如何查看mysql是否运行”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“linux如何查看mysql是否运行”吧!查看方法:1、执行“service mysql...
    99+
    2023-06-21
  • linux如何查看mysql是否启动
    这篇文章主要讲解了“linux如何查看mysql是否启动”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“linux如何查看mysql是否启动”吧!方法:1、执行“service mysqld ...
    99+
    2023-06-25
  • MySql如何查看索引并实现优化
    mysql中支持hash和btree索引。innodb和myisam只支持btree索引,而memory和heap存储引擎可以支持hash和btree索引 我们可以通过下面语句查询当前索引使用情况: show s...
    99+
    2022-05-28
    MySql 索引 优化
  • 如何使用mysql索引
    这篇文章主要为大家展示了如何使用mysql索引,内容简而易懂,希望大家可以学习一下,学习完之后肯定会有收获的,下面让小编带大家一起来看看吧。什么是索引:索引可以帮助快速查找数据而基本上索引都要求唯一(有些不...
    99+
    2024-04-02
  • mysql索引如何使用
    小编给大家分享一下mysql索引如何使用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!一、索引是什么1.索引简介索引其实是以文件...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作