邙山之巅 承接网站建设 + 网站推广 + 网站优化 + IDC + 网络广告等业务。

本博客网页模板,经过SEO优化和测试, 保证其 完整性 + 无错性 + 美观性 + 最简性 !
完整性 -头部尾部完整,首页,列表,内容完整.无错性 -整站模板安装即可使用,Js无错误,兼容IE6,IE7,ie8,FF
美观性 -整体协调,美观大方,配色合理.最简性 -采取DIV+CSS布局,整站无垃圾代码,架构合理,减少下载时间,节省带宽

Mysql中EXPLAIN用法详解

时间:2014-12-07 11:27来源:未知 作者:admin 点击:

  写程序的时候,往往需要去查看sql语句的执行效率,以方便我们如何优化我们的程序,设计数据库。所以我们就不得不了解一些explain的用法。

  首先看看输出地参数:

  这些参数中,我们常常需要关心的是这几个参数

  1,select_type,就是select类型.
主要有这几种,

  SIMPLE:这个是简单的sql查询,不使用UNION或者子查询

  PRIMARY:子查询中最外层的select

  UNION:UNION中的第二个或后面的SELECT语句

  DEPENDENT UNION:UNION中的第二个或后面的SELECT语句,取决于外面的查询

  UNION RESULT:UNION的结果。

  SUBQUERY:子查询中的第一个SELECT.

  DEPENDENT SUBQUERY:子查询中的第一个SELECT,取决于外面的查询

  DERIVED:派生表的SELECT(FROM子句的子查询)

  2,table输出行所引用的表

  3,type结类型。各种类型的信息在下面给出。

  system

  表仅有一行(=系统表)。这是const联结类型的一个特例。

  const

  表有最多一个匹配行,它将在查询开始时被读取。因为仅有一行,在这行的列值可被剩下的优化器认为是常数。 const表很快,因为它们只读取一次!

  eq_ref

  对于每个来自于先前的表的行组合,从该表中读取一行。这可能是最好的联结类型,除了const类型。它用在一个索引的所有部分被联结使用并且索引是UNIQUE或PRIMARY KEY。

  ref

  对于每个来自于先前的表的行组合,所有有匹配索引值的行将从这张表中读取。

  如果联结只使用键的最左面前缀,不或如果键不是UNIQUE或PRIMARY KEY(换句话说,如果联结能基于键值选择单个行的话),使用ref。如果被使用的键仅仅匹配一些行,该联结类型是不错的。

  range

  只有在一个给定范围的行将被检索,使用一个索引选择行。ref列显示哪个索引被使用。

  index

  这与ALL相同,除了只有索引树被扫描。这通常比ALL快,因为索引文件通常比数据文件小。

  ALL

  对于每个来自于先前的表的行组合,将要做一个完整的表扫描。

  如果表格是第一个没标记const的表,这通常不好,并且通常在所有的其他情况下很差。你通常可以通过增加更多的索引来避免ALL,使得行能从早先的表中基于常数值或列值被检索出。

  从上面可以发现,从上至下依次是越来越坏的结果,当然最好的还是Null,没有查询本表。

  4,possible_keys:possible_keys列指出MySQL能使用哪个索引在该表中找到行

  5,key:key列显示MySQL实际决定使用的键。如果没有索引被选择,键是NULL。

  6,key_lenkey_len列显示MySQL决定使用的键长度。如果键是NULL,长度是NULL。注意这告诉我们MySQL将实际使用一个多部键值的几个部分。

  7 ref:ref列显示哪个列或常数与key一起用于从表中选择行。

  8,rowsrows列显示MySQL相信它必须检验以执行查询的行数。

  9,Extra

  如果是Only index,这意味着信息只用索引树中的信息检索出的。通常,这比扫描整个表要快。

  如果是where used,它意味着一个WHERE子句将被用来限制哪些行与下一个表匹配或发向客户。

  如果是impossible where 表示用不着where

  如果是Using filesort表示用到了文件排序,通常在数据量大的情况下,要减少这种查询


(责任编辑:admin)
上一篇:MongoDB
下一篇:PHP导入和导出CSV文件详解
首页 - 技术交流 - 生活感悟 - 影视音乐 - 网址导航 - 图片收藏 - 实用工具 - 网站地图 - 百度地图 - RSS地图
邙山之巅:软件攻城师,互联网砖家,山水田园诗人,著名的思想家,政治家,文学家。
是中华人民共和国合法公民,在计算机软件方面有较高造诣。著有《放羊的那些事》一书,书中描绘了自己童年时代放羊的美好时光,
告诫人们要保护环境,否则以后只能在上海的南京路上放羊了。同时脑细胞异常活跃,经常胡思乱想,目前正在思考如何解决“欧债危机”和“美债危机”这两个世界级难题。
邙山之巅:从小就饱读诗书,学前班连上五年,破世界吉尼斯纪录,因此基础知识功底非常深厚。7岁能够看懂A片,8岁可以腾云吐雾,9岁号称千杯不倒,10岁已然有了一次轰轰烈烈的恋爱。此时此刻,很多东西对他来说早已是风轻云淡。后来考取了美国法克由大学的全能博士学位,成为华人中获得此高等学位的第一人。
在计算机方面的成就:精通C,C++,C#,JAVA,PHP,ASP,VB,DELPHI,ORACLE,MYSQL等。尤其精通网页前后台,设计,DIV+CSS,PHP+MYSQL,js,以及各种流行CMS。
新公司堆积3个月的活,被其一周干完。曾因技术过强,工作效率过高,而遭人嫉妒。 政治学方面成就:成功收复台湾,维护了台海稳定。
经济学方面的成就:帮助世界各国成功度过经济危机,并且成功预测了后经济危机时代的到来。 文学方面的成就:著《放羊的那些事》,以及10篇评论性文章,均未发表或出版。
Copyright ◎ 2012-2022 lixinwei.cn 邙山之巅 版权所有
豫ICP备17045676号-1 给我写信