前言
explain的下一篇
正文
其中一个字段就是extra,这个字段东西非常多,如果需要知道额外的,可以当场去查,大致会告诉我们一些执行的详细的东西。
如果我们想知道,详细的成本是怎么计算的,那么可以详细的输出:
EXPLAIN FORMAT=JSON SELECT * FROM s1 INNER JOIN s2 ON s1.key1 = s2.key2 WHERE s1.co
mmon_field = 'a'\G- EXPLAIN: {
- "query_block": {
- "select_id": 1, # 整个查询语句只有1个SELECT关键字,该关键字对应的id号为1
- "cost_info": {
- "query_cost": "3197.16" # 整个查询的执行成本预计为3197.16
- },
- "nested_loop": [ # 几个表之间采用嵌套循环连接算法执行
- # 以下是参与嵌套循环连接算法的各个表的信息
- {
- "table": {
- "table_name": "s1", # s1表是驱动表
- "access_type": "ALL", # 访问方法为ALL,意味着使用全表扫描访问
- "possible_keys": [ # 可能使用的索引
- "idx_key1"
- ],
- "rows_examined_per_scan": 9688, # 查询一次s1表大致需要扫描9688条记录
- "rows_produced_per_join": 968, # 驱动表s1的扇出是968
- "filtered": "10.00", # condition filtering代表的百分比
- "cost_info": {
- "read_cost": "1840.84", # 稍后解释
- "eval_cost": "193.76", # 稍后解释
- "prefix_cost": "2034.60", # 单次查询s1表总共的成本
- "data_read_per_join": "1M" # 读取的数据量
- },
- "used_columns": [ # 执行查询中涉及到的列
- "id",
- "key1",
- "key2",
- "key3",
- "key_part1",
- "key_part2",
- "key_part3",
- "common_field"
- ],
- # 对s1表访问时针对单表查询的条件
- "attached_condition": "((`xiaohaizi`.`s1`.`common_field` = 'a') and (`xiaohaizi
- `.`s1`.`key1` is not null))"
- }
- },
- {
- "table": {
- "table_name": "s2", # s2表是被驱动表
- "access_type": "ref", # 访问方法为ref,意味着使用索引等值匹配的方式访问
- "possible_keys": [ # 可能使用的索引
- "idx_key2"
- ], "key": "idx_key2", # 实际使用的索引
- "used_key_parts": [ # 使用到的索引列
- "key2"
- ],
- "key_length": "5", # key_len
- "ref": [ # 与key2列进行等值匹配的对象
- "xiaohaizi.s1.key1"
- ],
- "rows_examined_per_scan": 1, # 查询一次s2表大致需要扫描1条记录
- "rows_produced_per_join": 968, # 被驱动表s2的扇出是968(由于后边没有多余的表
- 进行连接,所以这个值也没啥用)
- "filtered": "100.00", # condition filtering代表的百分比
- # s2表使用索引进行查询的搜索条件
- "index_condition": "(`xiaohaizi`.`s1`.`key1` = `xiaohaizi`.`s2`.`key2`)",
- "cost_info": {
- "read_cost": "968.80", # 稍后解释
- "eval_cost": "193.76", # 稍后解释
- "prefix_cost": "3197.16", # 单次查询s1、多次查询s2表总共的成本
- "data_read_per_join": "1M" # 读取的数据量
- },
- "used_columns": [ # 执行查询中涉及到的列
- "id",
- "key1",
- "key2",
- "key3",
- "key_part1",
- "key_part2",
- "key_part3",
- "common_field"
- ]
- }
- }
- ]
- }
- }
复制代码 来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作! |