作家
登录

MySQL EXPLAIN命令详解学习

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

 
  • `ID` bigint(20) unsigned NOT NULL AUTO_INCREMENT,   
  •  
  • `post_date` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',   
  •  
  • `post_status` varchar(20) NOT NULL DEFAULT 'publish' ,   
  •  
  • `post_type` varchar(20) NOT NULL DEFAULT 'post',   
  •  
  • PRIMARY KEY (`ID`),   
  •  
  • KEY `type_status_date`(`post_type`,`post_status`,`post_date`,`ID`)   
  •  
  • DEFAULT CHARSET=utf8   
  •  
  •    
  •  
  • CREATE TABLE `wp_posts` (   
  •  
  • `ID` bigint(20) unsigned NOT NULL AUTO_INCREMENT,   
  •  
  • `post_date` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',   
  •  
  • `post_status` varchar(20) NOT NULL DEFAULT 'publish' ,   
  •  
  • `post_type` varchar(20) NOT NULL DEFAULT 'post',   
  •  
  • PRIMARY KEY (`ID`),   
  •  
  • KEY `type_status_date`(`post_type`,`post_status`,`post_date`,`ID`)   
  •  
  • DEFAULT CHARSET=utf8  
  • 这个表的索引包含post_type、post_status、post_date 以及ID列。下面是一个演示索引列用法的SQL 萌芽:

    这个萌芽的QEP 返回的key_len 是62。这解释只有post_type列上的索引用到了(因为(20×3)+2=62)。尽管萌芽在WHERE 语句中应用了post_type 和post_date 列,但只有post_type 部分被用到了。其他索引没有被应用的原因是MySQL 只能应用定义索引的最左边部分。为了更好地应用这个索引,可以修改┞封个萌芽来调剂索引的列。请看下面的示例:

    1. mysql> EXPLAIN SELECT ID, post_title   
    2.  
    3. -> FROM wp_posts   
    4.  
    5. -> WHERE post_type=

        推荐阅读

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

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


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

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

    关键词: 探索发现

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

    网友点评
    自媒体专栏

    评论

    热度

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