显示的是查询要访问的数据分片——如果有分片的话。它只能在MySQL5.1及更新的版本里使用。
另一个格式显示执行计划。可以看到诸如表间关联方式等信息。
id
select_type
除子查询或UNION之外的其他查询。
结果集无法缓存的子查询。
UNION中的合并结果。从UNION临时表获取结果的SELECT。
table
type
子查询中的返回结果字段组合是主键或唯一约束。
全文索引扫描。
全表扫描。
possible_keys
key
key_len
ref
rows
该字段显示了查询优化器通过系统收集的统计信息估算出来的结果集记录条数。
Extra
该字段显示了查询中MySQL的附加信息。
filtered
查看统计信息也是优化语句中必不可少的一步。通过统计信息可以快速了解对象的存储特征如何。下面说明主要的两类统计信息——表、索引。
sort_buffer_size
join_buffer_size
tmp_table_size
read_buffer_size
读查询操作所能使用的缓冲区大小。这个参数是针对单个Thead的。
optimizer_search_depth
optimizer_prune_level
optimizer_switch
这个变量包含了一些开启/关闭优化器特性的标志位。
Sort_merge_passes
Sort_range
在范围内执行的排序的数量。
Sort_rows
已经排序的行数。
Sort_scan
通过扫描表完成的排序的数量。
Handler_read_first
Handler_read_key
Handler_read_next
Handler_read_prev
按照键顺序读前一行的请求数。
Handler_read_rnd
根据固定位置读一行的请求数。如果执行大量查询并需要对结果进行排序该值较高。则可能使用了大量需要MySQL扫描整个表的查询或连接没有正确使用键。
Handler_read_rnd_next
开启
执行SQL语句
mysql>selectcount(*)fromt1;
获取概要信息
针对单个Query获取详细的profile信息
mysql>showprofileforquery1;mysql>showprofilecpu,blockioforquery1;
模块-MySQLDB
模块-sqlparse
-p指定配置文件名称
-s指定SQL语句
包含运行数据库的地址信息及数据版本信息。
通过这里可判断优化器是否对SQL进行了某种优化(例如子查询的处理)。
在SQL语句中所有涉及到的表及其索引的统计信息都会在这里显示出来。