作家
登录

MySQL EXPLAIN命令详解学习

作者: 来源: 2017-04-07 16:03:22 阅读 我要评论

2. 各列详解

 eq_ref 这个值表示有一行是为了每个之前肯定的表而攫取的

MySQL EXPLAIN敕令详解进修

1. 语法

MySQL 的EXPLAIN 语法可以运行在SELECT 语句或者特定表上。如不雅感化在表上,那么此敕令等同于DESC 表敕令。UPDATE和DELETE 敕令也须要进行机能改进,当这些敕令不是直接在表的主码上运行时,为了确保最优化的索引应用率,须要把它们改写成SELECT 语句(以便对它们履行EXPLAIN 敕令)。请看下面的示例:

  1. UPDATE table1   
  2.  
  3. SET col1 = X, col2 = Y   
  4.  
  5. WHERE id1 = 9   
  6.  
  7. AND dt >= '2010-01-01' 

这个UPDATE语句可以被重写成为下面如许的SELECT语句:

  1. SELECT col1, col2   
  2.  
  3. FROM table1   
  4.  
  5. WHERE id1 = 9   
  6.  
  7. AND dt >= '2010-01-01' 

在5.6.10版本琅绫擎,是可以直接对dml语句进行explain分析操作的.

MySQL 优化器是基于开销来工作的,它并不供给任何的QEP的地位。这意味着QEP 是在每条SQL 语句履行的时刻动态地计

算出来的。在MySQL 存储过程中的SQL 语句也是在每次履行时计算QEP 的。存储过程缓存仅仅解析萌芽树。

  1. mysql> SHOW SESSION STATUS LIKE 'Handler_read%';   
  2.  
  3. +-----------------------+-------+   
  4.  
  5. | Variable_name         | Value |   
  6.  
  7. +-----------------------+-------+   
  8.  
  9. | Handler_read_first    | 0     |   
  10.  
  11. | Handler_read_key      | 0     |    
  12.  
  13. | Handler_read_last     | 0     |   
  14.  
  15. | Handler_read_next     | 0     |   
  16.  
  17. | Handler_read_prev     | 0     |   
  18.  
  19. | Handler_read_rnd      | 0     |   
  20.  
  21. | Handler_read_rnd_next | 11    |   
  22.  
  23. +-----------------------+-------+   
  24.  
  25. rows in set (0.00 sec)  

MySQL EXPLAIN敕令可以或许为SQL语句中的每个表生成以下信息:

2.5 table

  1. mysql> EXPLAIN SELECT * 
     1/9    1 2 3 4 5 6 下一页 尾页

      推荐阅读

      有没有将深度学习融入机器人领域的新尝试?

    一方面,我们不懂得须要若干瘪据才能让问题收敛。另一方面,实际机械人进行一次操作须要消费时光、可能会造成伤害、会破坏实验前提(须要人工恢复)等,采集数据会比图像辨认、语音辨认难度大年夜很多。 >>>详细阅读


    本文标题:MySQL EXPLAIN命令详解学习

    地址:http://www.17bianji.com/lsqh/34650.html

关键词: 探索发现

乐购科技部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与乐购科技进行文章共享合作。

网友点评
自媒体专栏

评论

热度

精彩导读
栏目ID=71的表不存在(操作类型=0)