作家
登录

优化SQL语句的一般步骤

作者: 来源: 2017-08-31 16:11:21 阅读 我要评论

 test_id=1 ) a \G 
  • *************************** 1. row *************************** 
  •           id: 1 
  •  select_type: SIMPLE 
  •        table: test_const 
  •   partitions: NULL 
  •         type: const 
  • possible_keys: PRIMARY 
  •          keyPRIMARY 
  •      key_len: 4 
  •          ref: const 
  •         rows: 1 
  •     filtered: 100.00 
  •        Extra: NULL 
  •  1 row in set, 1 warning (0.00 sec) 
  • 7. type=null, mysql 不消拜访表或者索引,直接就可以或许获得结不雅:

    1. mysql> explain select 1 from dual where 1 \G 
    2. *************************** 1. row *************************** 
    3.           id: 1 
    4.  select_type: SIMPLE 
    5.        tableNULL 
    6.   partitions: NULL 
    7.         type: NULL 
    8. possible_keys: NULL 
    9.          keyNULL 
    10.      key_len: NULL 
    11.          ref: NULL 
    12.         rowsNULL 
    13.     filtered: NULL 
    14.        Extra: No tables used 
    15. 1 row in set, 1 warning (0.00 sec) 

    类型 type 还有其他值,如 ref_or_null (与 ref 类似,差别在于前提中包含对 null 的萌芽)、index_merge(索引归并优化)、unique_subquery (in 的后面是一个萌芽主键字段的子萌芽)、index_subquery(与 unique_subquery 类似,差别在于 in 的后面是萌芽非独一索引字段的子萌芽)等。

    • possible_keys : 表示萌芽时可能应用的索引。
    • key :表示实际应用索引
    • key-len : 应用到索引字段的长度。
    • rows : 扫描行的数量
    • extra:履行情况的说阕和描述,包含不合适在其他列中显示然则对履行筹划异常重要的额外信息。

    show warnings 敕令

    履行explain 后再履行 show warnings,可以看到sql 真正被履行之前优化器做了哪些 sql 改写:

    1. MySQL [sakila]> explain select sum(amount) from customer a , payment b 

        推荐阅读

        远胜微软谷歌等翻译器 | 基于神经网络和超级计算机的DeepL Translator

      Microsoft Translator是微软旗下的翻译对象,痊愈客岁成功切换至神经网路。当时,微软表示比拟较今朝行业内主流的统计机械翻译(SMT)技巧,神经收集架构可以或许大年夜幅晋升翻译质量。德>>>详细阅读


      本文标题:优化SQL语句的一般步骤

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

    关键词: 探索发现

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

    网友点评
    自媒体专栏

    评论

    热度

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