MySQL中explain的type类型

|  ALL              |  全表扫描

|  index            |  索引全扫描

|  range            |  索引范围扫描,常用语<,<=,>=,between等操作

|  ref                |  使用非唯一索引扫描或唯一索引前缀扫描,返回单条记录,常出现在关联查询中

|  eq_ref           |  类似ref,区别在于使用的是唯一索引,使用主键的关联查询

|  const/system  |  单条记录,系统会把匹配行中的其他列作为常数处理,如主键或唯一索引查询

|  null                |  MySQL不访问任何表或索引,直接返回结果

####由上至下,效率越来越高

时间: 2024-10-10 19:56:46

MySQL中explain的type类型的相关文章

mysql中explain的type的解释

导语: 很多情况下,有很多人用各种select语句查询到了他们想要的数据后,往往便以为工作圆满结束了.这些事情往往发生在一些学生亦或刚入职场但之前又没有很好数据库基础的小白身上,但所谓闻道有先后,只要我们小白好好学习,天天向上,还是很靠谱的. 当一个sql查询语句被写出来之后,其实你的工作只完成了一小半,接下来更重要的工作是评估你自己写的sql的质量与效率.mysql为我们提供了很有用的辅助武器explain,它向我们展示了mysql接收到一条sql语句的执行计划.根据explain返回的结果我

MySQL的EXPLAIN的type

连接操作的类型 (1)SYSTEM CONST的特例,当表上只有一条元组匹配 (2)CONST WHERE条件筛选后表上至多有一条元组匹配时,比如WHERE ID = 2 (ID是主键,值为2的要么有一条要么没有) (3)EQ_REF 参与连接运算的表是内表(在代码实现的算法中,两表连接时作为循环中的内循环遍历的对象,这样的表称为内表). 基于索引(连接字段上存在唯一索引或者主键索引,且操作符必须是"="谓词,索引值不能为NULL)做扫描,使得对外表的一条元组,内表只有唯一一条元组与之

MySQL中EXPLAIN详解

MySQL中EXPLAIN详解 explain显示了mysql如何使用索引来处理select语句以及连接表.可以帮助选择更好的索引和写出更优化的查询语句. 使用方法,在select语句前加上explain就可以了: 如:explain select username,first_name form hx,itlearner where a.id=b.id EXPLAIN列的解释: id:本次 select 的标识符.在查询中每个 select都有一个顺序的数值. select_type :查询类

MySQL中EXPLAIN命令详解

explain显示了mysql如何使用索引来处理select语句以及连接表.可以帮助选择更好的索引和写出更优化的查询语句. 使用方法,在select语句前加上explain就可以了: 如: explain select surname,first_name form a,b where a.id=b.id EXPLAIN列的解释: table:显示这一行的数据是关于哪张表的 type:这是重要的列,显示连接使用了何种类型.从最好到最差的连接类型为const.eq_reg.ref.range.in

MySQL中EXPLAIN解释命令

explain显示了mysql如何使用索引来处理select语句以及连接表.可以帮助选择更好的索引和写出更优化的查询语句. 先解析一条sql语句,看出现什么内容 EXPLAINSELECTs.uid,s.username,s.name,f.email,f.mobile,f.phone,f.postalcode,f.addressFROM uchome_space ASs,uchome_spacefieldASfWHERE 1 AND s.groupid=0AND s.uid=f.uid 1. i

MySQL中日期和时间类型

1 日期类型 MySql中关于日期的类型有Date/Datetime/Timestamp三种类型. 日期赋值时,允许"不严格"语法:任何标点符都可以用做日期部分或时间部分之间的间割符.例如,'98-12-31 11:30:45'.'98.12.31 11+30+45'.'98/12/31 11*30*45'和'[email protected]@31 11^30^45'是等价的,对于不合法的将会转换为:0000-00-00 00:00:00 1.1 Date格式 此类型的字段,存储数据

mysql中timestamp,datetime,int类型的区别与优劣

mysql中timestamp,datetime,int类型的区别与优劣 int 1. 占用4个字节 2. 建立索引之后,查询速度快 3. 条件范围搜索可以使用使用between 4. 不能使用mysql提供的时间函数 结论:适合需要进行大量时间范围查询的数据表 datetime 1. 占用8个字节 2. 允许为空值,可以自定义值,系统不会自动修改其值. 3. 实际格式储存(Just stores what you have stored and retrieves the same thing

Mysql中explain命令查看语句执行概况

Mysql中可以使用explain命令查看查询语句的执行方式,使用方法举例:explain + 查询语句 例如:explain select * from user_info 几个重要的字段说明: table:此次查询操作是关联哪张数据表 type:连接查询操作类型,一般根据索引查询的话为const,如果没有索引,则遍历所有数据那么为All(此种方式效率极低) possible_keys:显示可能应用在这张表中的索引.如果为空,没有可能的索引. key: 实际使用的索引.如果为NULL,则没有使

详解MySQL中EXPLAIN解释命令

Explain 结果解读与实践 基于 MySQL 5.0.67 ,存储引擎 MyISAM . 注:单独一行的"%%"及"`"表示分隔内容,就象分开“第一章”“第二章”. explain 可以分析 select 语句的执行,即 MySQL 的“执行计划”: mysql> explain select 1; +----+-------------+-------+------+---------------+------+---------+------+----