返回顶部
首页 > 资讯 > 数据库 >mysql 获取执行计划的方法
  • 545
分享到

mysql 获取执行计划的方法

2024-04-02 19:04:59 545人浏览 八月长安
摘要

Mysql 获取执行计划方法:1.通过explain进行查看sql的执行计划;2.通线程正在执行的sql查看该sql的执行计划; explain进行查看sql的执行计划相对简单,其实通线程正在执行的sq

Mysql 获取执行计划方法:
1.通过explain进行查看sql的执行计划;
2.通线程正在执行的sql查看该sql的执行计划;

  explain进行查看sql的执行计划相对简单,其实通线程正在执行的sql查看执行计划也很简单,那么为什么还需要第二种方式呢?

  因为日常工作会发现很多sql一直在执行,执行发生异常,如果把该sql拿出来执行又很快,于是我们想获取该sql执行异常时候的执行计划,同时因为数据在时刻的变化,统计信息也有可能变化,有可能导致执行计划发生改变,好在mysql5.7开始已经可以通过正在执行的线程查看该sql的执行计划,不需要把sql拿出来执行获取执行计划,这样就可以很好的还原真相:

show processlist;或者select * from infORMation_schema.PROCESSLIST where info is not null order by time desc ;查看。

mysql> select from information_schema.PROCESSLIST where info is not null;
+-----+------+-----------------+------+---------+------+--------------+-----------------------------------------------------------------------+
| ID | USER | HOST | DB | COMMAND | TIME | STATE | INFO |
+-----+------+-----------------+------+---------+------+--------------+-----------------------------------------------------------------------+
| 17 | root | localhost | NULL | Query | 0 | executing | select
from information_schema.PROCESSLIST where info is not null |
| 178 | root | localhost:60124 | app1 | Query | 560 | Sending data | select count(*) from t ,t_adress where t.adress = t_adress.adress |
+-----+------+-----------------+------+---------+------+--------------+-----------------------------------------------------------------------+
2 rows in set (0.00 sec)

mysql> EXPLAIN FOR CONNECTION 178;
+----+-------------+----------+------------+------+---------------+------+---------+------+--------+----------+----------------------------------------------------+
| id | select_type | table | partitions | type | possible_keys | key | key_len | ref | rows | filtered | Extra |
+----+-------------+----------+------------+------+---------------+------+---------+------+--------+----------+----------------------------------------------------+
| 1 | SIMPLE | t_adress | NULL | ALL | NULL | NULL | NULL | NULL | 200096 | 100.00 | NULL |
| 1 | SIMPLE | t | NULL | ALL | NULL | NULL | NULL | NULL | 309664 | 100.00 | Using where; Using join buffer (Block Nested Loop) |
+----+-------------+----------+------------+------+---------------+------+---------+------+--------+----------+----------------------------------------------------+
2 rows in set (0.01 sec)

使用起来是不是很方便?

最后说一句:
今天心里很憋屈,睡觉了。。。。。。。。

您可能感兴趣的文档:

--结束END--

本文标题: mysql 获取执行计划的方法

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

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

猜你喜欢
  • mysql 获取执行计划的方法
    mysql 获取执行计划方法:1.通过explain进行查看sql的执行计划;2.通线程正在执行的sql查看该sql的执行计划; explain进行查看sql的执行计划相对简单,其实通线程正在执行的sq...
    99+
    2024-04-02
  • Oracle获取执行计划方法
    获取执行计划的6种方法   1. explain plan for获取;   2. set autotrace on ;  &...
    99+
    2024-04-02
  • 执行计划-1:获取执行计划
    看懂执行计划是作为处理数据库性能问题的必备技能之一,接下来一系列的文章我 会告诉你怎么去做。 我们会从一些文章开始讨论几种获取执行计划的方法,并且评估不同来源的执行计划最适合哪种场景。 完成上述的内容后我...
    99+
    2024-04-02
  • 获取执行计划的6种方法
      一.获取执行计划的6种方法(详细步骤已经在每个例子的开头注释部分说明了):     1. explain plan for获取;   ...
    99+
    2024-04-02
  • 获得执行计划方法三-sql_trace
    1 追踪这个sesionSQL> alter session set sql_trace=true ; Session altered.2 ...
    99+
    2024-04-02
  • SQLSERVER中如何获取执行计划
    SQLSERVER中如何获取执行计划,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。得到执行计划的方式有两种: 1、一种是在指令的...
    99+
    2024-04-02
  • 获得执行计划方法-一 ORACLE AUTOTRACE
    ORACLE sql trace    AUTOTRACE 命令1 SET AUTOTRACE OFF     &n...
    99+
    2024-04-02
  • 获得执行计划方法二-explain plan
    1 安装$ORACLE_HOME/rdbms/admin/utlxplan.sql (UNIX)  脚本生成一个表这个程序会创建一个名为plan_table的表2 运行explain PLAN [...
    99+
    2024-04-02
  • mysql通过explain获取查询执行计划的信息
    这篇文章主要介绍“mysql通过explain获取查询执行计划的信息”,在日常操作中,相信很多人在mysql通过explain获取查询执行计划的信息问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方...
    99+
    2024-04-02
  • Oracle中怎么获取SQL执行计划
    这篇文章将为大家详细讲解有关Oracle中怎么获取SQL执行计划,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。Oracle 获取SQL执行计划方法方法一:D...
    99+
    2024-04-02
  • MySQL 5.7获取指定线程正在执行SQL的执行计划信息
    获取指定线程正在执行SQL的执行计划信息,可以使用下面语句; 当某个线程执行SQL消耗了很长的时间,可以使用这个语句找到正在执行大SQL的执行计划,在性能诊断上很有用。 mysql> show pr...
    99+
    2024-04-02
  • MySQL 5.7Explain执行计划
    小编给大家分享一下MySQL 5.7Explain执行计划,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!目录1. 介绍2. Ex...
    99+
    2024-04-02
  • 获取oracle sql语句详细些执行计划
    获取oracle的SQL语句的执行有很多,比如使用plsql按F5,使用10046trace,使用set  autotrace on等方式查看SQL语句的执行计划。使用这种方式查看SQL语句的执...
    99+
    2024-04-02
  • MySQL中的执行计划explain
    一、用法及定义:   explain为sql的执行计划、在sql前面加上explain关键字即可 如:explain select * from tbl_emp; 名词解释:   id:【操作表的顺序】     1.i...
    99+
    2015-01-30
    MySQL中的执行计划explain
  • mysql的执行计划解释
    关于MySQL的执行计划,做个笔记,可以做为优化的依据,尽量将第四列 type优化到ref,至少要保证range方式,能用覆盖索引的要使用覆盖索引,然后possible_keys显示null不代表不使用...
    99+
    2024-04-02
  • 详解 MySQL 执行计划
    EXPLAIN语句提供有关MySQL如何执行语句的信息。EXPLAIN与SELECT,DELETE,INSERT,REPLACE和UPDATE语句一起使用。 EXPLAIN为SELECT语句中使用的每个表返回...
    99+
    2022-05-10
    MySQL 执行计划
  • MySQL执行计划详解
    一、mysql执行计划介绍 在MySQL中,执行计划的实现是基于JOIN和QEP_TAB这两个对象。其中JOIN类表示一个查询语句块的优化和执行,每个select查询语句(即Query_block对象)在处理的时候,都会...
    99+
    2024-04-02
  • mysql如何执行计划
    小编给大家分享一下mysql如何执行计划,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!      ...
    99+
    2024-04-02
  • 达梦数据库获取SQL实际执行计划方法详细介绍
    目录一、set autotrace trace二、v$cachepln中获取执行计划三、ET系统函数四、dbms_sqltune系统包五、说明环境说明: 操作系统:银河麒麟V10 数据库:DM8 相关关键字:DM数据库、...
    99+
    2024-04-02
  • oracle执行计划的方法是什么
    本篇内容主要讲解“oracle执行计划的方法是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“oracle执行计划的方法是什么”吧!先从最开头一直往右看,直到...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作