Duration:耗时; query:执行的sql语句; 2.查看某条查询的详细性能数据,根据query id=17(上图示例结果)查看指定SQL的语句分析 如下示例展示该sql完整生命周期:show profilefor query 17; 3.查看 cpu, io, memory, block io 等性能数据,根据query id查看指定SQL的语句分析 show profile cpu,block io for query 1...
filtered (JSON名称: filtered) filtered列指示表条件过滤的行的估计百分比。最大值是100,这意味着没有进行行过滤。从100递减的值表明进行了越来越多的过滤。rows显示估计的检查行数,rows × filtered显示与下一个表连接的行数。例如,如果rows是1000,filtered是50.00(50%),则与下一个表连接的行数是1000 × 50%...
根据表统计信息及索引选用情况,大致估算出找到所需的记录所需要读取的行数,每长表有多少行被优化器查询过。 filtered:满足查询的记录数量的比例,注意是百分比,不是具体记录数 . 值越大越好,filtered列的值依赖统计信息,并不十分准确。 Extra: 额外信息,如Using where(表示使用了 WHERE 条件过滤结果)、Using...
额外还有 filtered 列,是一个半分比的值,rows * filtered/100 可以估算出将要和 explain 中前一个表进行连接的行数(前一个表指 explain 中的id值比当前表id值小的表)mysql> explain extended select * from film where id = 1;mysql> show warnings;explain partitions 相比 explain 多了个 partitions ...
filtered (按表条件过滤的行百分比) 对于单表查询来说: 如果是全表扫描,filtered 值代表满足 where 条件的行数占表总行数的百分比; 如果是使用索引来执行查询,filtered 值代表从索引上取得数据后,满足其他过滤条件的数据行数的占比。 mysql> explain select * from t1 where a<100 and b > 100;+---+---...
EXPLAIN是MySQL中的一个非常有用的命令,它用于分析和解释SQL查询的执行计划。通过EXPLAIN,开发者可以了解MySQL如何执行一个SQL查询,包括表的读取顺序、数据读取操作类型、使用的索引、表之间的引用关系以及预计需要扫描的行数等信息。这有助于开发者优化查询性能,识别潜在的瓶颈和改进点。 EXPLAIN返回结果中的filtered字段...
filtered: 表示此查询条件所过滤的数据的百分比。 extra: 额外的信息。 1.2 准备工作 新建一个数据库test,执行下面的sql语句 代码语言:javascript 复制 CREATETABLEt1(idINT(10)AUTO_INCREMENT,contentVARCHAR(100)NULL,PRIMARYKEY(id));CREATETABLEt2(idINT(10)AUTO_INCREMENT,contentVARCHAR(100)NULL,PRIMARYKEY(id...
explain模拟优化器执行SQL语句,在5.6以及以后的版本中,除过select,其他比如insert,update和delete均可以使用explain查看执行计划,从而知道mysql是如何处理sql语句,分析查询语句或者表结构的性能瓶颈。 作用 1、表的读取顺序 2、数据读取操作的操作类型 3、哪些索引可以使用 ...
filtered 是一个百分比的值,表示符合条件的记录数的百分比。简单点说,这个字段表示存储引擎返回的数据在经过过滤后,剩下满足条件的记录数量的比例。在MySQL.5.7版本以前想要显示filtered需要使用explain extended命令。MySQL.5.7后,默认explain直接显示partitions和filtered的信息。2.12 Extra Extra是EXPLAIN输出中另外一...
filtered: 查询的表行数/表的百分比 extra: 一些重要的额外信息 查询sql根据复杂程度分以下几个类别 简单 复杂 简单子查询 (select、where中有子查询) 派生表 (from中有子查询) union查询 2.id SELECT识别符,每个select语句都会自动分配的一个唯一标识符。SQL执行的顺序的标识。遵循以下原则 ...