澳门威利斯人_威利斯人娱乐「手机版」

来自 威利斯人娱乐 2019-12-11 16:29 的文章
当前位置: 澳门威利斯人 > 威利斯人娱乐 > 正文

mysql执行计划介绍

(7)ref

意思:表示索引中利用的字节数,可由此该列计算查询中运用的目录的长度

类型:

(2).select_type

测验表结构:

CREATE TABLE `t1` (
  `c1` int(11) NOT NULL DEFAULT '0',
  `c2` varchar(128) DEFAULT NULL,
  `c3` varchar(64) DEFAULT NULL,
  `奥门泥斯人,c4` int(11) DEFAULT NULL,
  PRIMARY KEY (`c1`),
  KEY `ind_c2` (`c2`),
  KEY `ind_c4` (`c4`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8
 CREATE TABLE `t2` (

意思:select语句的门类

eg:

因为索引中含有c1,查询c1,c2方可通过索引围观达成。

id为1的table突显<derived2>,表示结果来自衍生表2。

d.Using filesort,表示不可能使用索引排序,供给文件排序

外层SELECT将被标识为:DERAV4IVED

c.range:索引范围扫描,对索引的围观初叶于某一点,再次回到匹配值域的行,管见所及于between、<、>等的询问

CREATE TABLE `t3` (
  `c1` int(11) NOT NULL DEFAULT '0',
  `c2` varchar(128) DEFAULT NULL,
  `c3` varchar(64) DEFAULT NULL,
  `c4` int(11) DEFAULT NULL,
  PRIMARY KEY (`c1`),
  KEY `ind_c2` (`c2`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8

id为NULL的体系为union result, <union 1,3>表示id为1的操作和id为3的操作举行理并了结果群集併。

奥门泥斯人 1

d.ref:非唯后生可畏性索引围观,再次回到相配某些单独值的全部行。见惯司空于选取非独一索引即独一索引的非唯黄金年代前缀举办的查找 

a.SIMPLE:查询中不包罗子查询可能UNION

c.Using temporary,表示使用了有时表,司空见惯于分组和排序

备考:range类型肯定是行使了索引围观,不然type为ALL

(6)key_len

b.index:Full Index Scan,index与ALL分裂为index类型只遍历索引,索引平常比记录要小。

烂sql不仅仅直接影响sql的响适那时候候间,更影响db的特性,导致其余正规的sql响适当时候间变长。怎么样写好sql,学会看试行陈设根本。上面我回顾讲讲mysql的实行计划,只列出了部分遍布的图景,希望对我们持有助于。

试行种种3->2->1->NULL

复制代码 代码如下:

意义:显示一些拉扯的额外消息

(4).possible_keys

id为2表示子查询,读取t3表

奥门泥斯人 2

...

eg2:使用索引列t1.c2

eg1:id相似,实践种种从上到下,下边的施行安排意味着,先操作t1表,然后操作t2表,最终操作t3表。

奥门泥斯人 3

eg2:若存在子查询,则子查询(内层查询)id大于父查询(外层查询卡塔尔,先实施子查询。id越大,优先级越高。

奥门泥斯人 4

意思:获取记录行采纳的格局,亦即mysql的拜望形式。

意义:MySQL依照表计算音讯及索引选择景况,猜测的找到所需的笔录所须要读取的行数,那些值是不正确的,独有参考意义。

b.Using where,表示通过where条件过滤

e.eq_ref:唯生机勃勃性索引围观,对于种种索引键,表中独有一条记下与之合作。不足为怪于主键或独一索引围观

奥门泥斯人 5

b.查询中若满含其余头晕目眩的子部分,最外层查询则被标识为:PCRUISERIMA安德拉Y

意思:用于连接查询,表示具体有个别表的某列被援用

1.查看mysql推行安排

2.进行安顿包涵的消息

奥门泥斯人 6

奥门泥斯人 7

c.在SELECT或WHERE列表中包蕴了子查询,该子查询被标志为:SUBQUE福特ExplorerY

(3).type

f.const、system:当MySQL对查询某部分开展优化,并退换为叁个常量时,使用那些项目访问。如将主键置于where列表中,

MySQL就能够将该查询调换为三个常量,system是const类型的特例,当查问的表唯有大器晚成行的情况下, 使用system

id为3类型为union,是union的第叁个select,最初实践;

f.从UNION表获取结果的SELECT被标志为:UNION RESULT

  `c1` int(11) NOT NULL DEFAULT '0',
  `c2` varchar(128) DEFAULT NULL,
  `c3` varchar(64) DEFAULT NULL,
  `c4` int(11) DEFAULT NULL,
  PRIMARY KEY (`c1`),
  KEY `ind_c2` (`c2`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8

a.ALL:Full Table Scan, MySQL将遍历全表以找到卓越的行

t2.c1为主键索引,主键索引也是独一索引

(5).key

e.若第三个SELECT出未来UNION然后,则被标志为UNION;若UNION满含在  FROM子句的子查询中,

意思:展现MySQL在查询中实际上利用的目录,若未有接收索引,显示为NULL

奥门泥斯人 8

奥门泥斯人 9

 (9)Extra

t2.c4为非独一索引

奥门泥斯人 10

意义,提醒select字句或操作表的逐风度翩翩。

explain  select ......

奥门泥斯人 11

(1).id

意义:建议MySQL能接收哪个索引在表中找到行,查询涉及到的字段上若存在索引,则该索引将被列出,但不料定被询问利用

奥门泥斯人 12

(8)rows

a.Using index,表示使用了目录

eg1:t1.c3列未有索引

奥门泥斯人 13

d.在FROM列表中含有的子查询被标识为:DE大切诺基IVED(衍生)

本文由澳门威利斯人发布于威利斯人娱乐,转载请注明出处:mysql执行计划介绍

关键词: 澳门威利斯人