我们在使用SQL语句查询表数据时,提前用explain进行语句分析是一个非常好的习惯。通过explain输出sql的详细执行信息,就可以针对性地进行sql优化。今天我们来分析一下,在explain中11种不同type代表的含义以及其应用场景。1,system 应用场景:表中只有一条数据,且存储引擎可以准确的统计到这条数据。system一般出现在MyI...
mysql官方文档:https://dev.mysql.com/doc/refman/5.7/en/explain-output.html#jointype_system system The table has only one row (= system table). This is a special case of the const join type. 翻译过来是: 该表只有一行(=系统表)。 但是创建一张只有一条记录的表执行exlpain后 type 值却是const。
则为const(唯一索引时)、ref(普通索引时)explainselect*fromdemowhereid3='1'orid3isnull;-- 如果字段有not null约束,则为const(唯一索引时)、ref(普通索引时)-- 2.3.`index_merge`。
insert into user values(5,'zhaoliu'); Explain分析结果 如果id上不建索引,则全表扫描 总结 type类型从快到慢:system>const>eq_ref>ref>range>index>ALL 作为一名合格的后端开发者应该熟悉掌握Explain 结合业务建立正确索引,而不是每个字段建立索引(滥用)...
今天我们来分析一下,在explain中11种不同type代表的含义以及其应用场景。 1、system 应用场景:表中只有一条数据,且存储引擎可以准确的统计到这条数据。 system一般出现在MyISAM、memory类型的表查询中。 由于我们一般使用的存储引擎都是InnoDB,所以system这种类型很少会用到。
今天我们来分析一下,在explain中11种不同type代表的含义以及其应用场景。 1、system 应用场景:表中只有一条数据,且存储引擎可以准确的统计到这条数据。 system一般出现在MyISAM、memory类型的表查询中。 由于我们一般使用的存储引擎都是InnoDB,所以system这种类型很少会用到。
MySQL explain type字段详解 MySQL 中EXPLAIN命令用于展示 SQL 查询的执行计划,其中type字段是非常关键的一个列,它表示 MySQL 在执行查询时如何查找和访问表中的行。以下是type字段可能出现的值及其含义,从最优到最劣排列: system: 这通常表示MySQL能够直接通过内部系统表获取结果,不需要进行任何表扫描。这种类型极其...
EXPLAIN执行计划中type字段分为以下几种: ALL INDEX RANGE REF EQ_REF CONST,SYSTEM NULL 自上而下,性能从最差到最好 type = ALL,全表扫描,MYSQL扫描全表来找到匹配的行 (因为film表中rating不是索引) mysql> explain extended select * from film where rating > 9\G ...
Explain命令中的type列,显示MySQL查询所使用的关联类型(Join Types)或者访问类型,它表明MySQL决定如何查找表中符合条件的行。 常见访问类型性能由最差到最优依次为: ALL < index < range <index_subquery< unique_subquery < index_merge < ref_or_null < fulltext < ref < eq_ref < const < system。
MySQL explain执行计划举例 1、id 4、type(重要) 5、possible_keys 6、key(重要) 9、rows DB哥MySQL高级教程-系统学习MySQL共149课时【免费学】 加我微信公众号免费学:DB哥 文末有MySQL高级课程目录 MySQL explain执行计划是什么 要对执行计划有个比较好的理解,需要先对MySQL的基础结构及查询基本原理有简单的了解...