show status
获取mysql服务器的一些状态信息。
- Connections 连接次数
- Uptime 启动后工作的时间
- Show_queries 慢查询的次数
- Com_insert 插入的次数
- Com_delete 删除的次数
- Com_update 修改的次数
- Com_select 查询的次数
- Innodb_row_ 在Innodb下的对应操作次数
explain
explain加在select语句前面,模拟执行sql语句,输出执行信息
explain select goods.t_name, goods.t_price
from t_goods goods left join t_goods_category category
on goods.t_category_id = category.id
-
id select的序列号
-
select_type sql查询类型
- simple 简单查询,不包含任何连接查询和子查询
- primary 主查询包含子查询的最外层的查询语句
- union 连接查询
- dependent union 同union,外层查询
- union result 连接查询的结果信息
- subquery 第一个子查询
- dependent subquery 外层查询,同subquery
- derived from的子查询
- materialized 实例化子查询
- 10.uncacheable union 不缓存的连接查询
-
table 表
-
partitions 分区表
-
type 关联类型或访问类型
性能从最优到最差
1. system 查询表只有一行数据
2. const 查询表中只有一行满足查询
3. eq_ref 使用了主键或者非空唯一索引的全部字段作为连接查询或者查询条件
4. ref 查询条件或者连接条件不是主键或者非空唯一索引的全部字段
5. fulltext 查询包括全文索引
6. ref_of_null 查询或者连接条件中包括NULL
7. index_merge 使用索引合并优化
8. unique_subquery in字段为表主键或者非空唯一索引
9. index_subquery in字段为非唯一索引
10. range 查询条件为表中所有索引的字段范围
11. index 覆盖索引
12. all 全表扫描 -
possible_keys 可能使用索引
-
key 查询实际会使用到索引
-
key_len 使用到索引的字节长度
-
ref 使用那个值和Key中的索引作比较
-
rows 必须查询的数据行数,引擎为Innodb,则为mysql的估算值
-
filtered 查询条件的百分比
-
extra 额外信息
当前执行的sql语句
select connection_id()
explain for connection -
show profile
查看查询的时间
pt_query_digest
使用工具包对查询进行分析。