1.SHOW FULL PROCESSLIST

解释:
	id :连接id,可以使用kill+连接id的方式关闭连接
	user:当前用户
	host:当前连接客户端
	db:连接的数据库
	command:显示当前连接的当前执行的状态,sleep、query、connect
	time:持续时间
	state:sql语句的执行状态,copying to tmp table、sorting result、sending data等
	info:sql语句,持续时间过长,则需要优化

2.慢日志查询

记录响应时间超过设置阈值(long_query_time)的SQL语句,默认未开启;
	slow_query_log:是否开启 on/off
	long_query_time:设置阈值
	slow_query_log_file:慢查询日志文件存储路径
	log_queries_not_using_indexes:记录没有使用索引的语句,on/off
	log_output:日志存储方式,TABLE(通过 select * from mysql.slow_log 查询) 和 FILE
	show variables like ‘%_query%’ 查询

3.explain分析SQL语句

id:执行顺序,id相同,自上而下执行,id越大,执行优先级越高
select_type:查询类型
		SIMPLE:简单查询
		PRIMARY:子查询中最外层查询
		UNION:UNION中的第二个或后面的SELECT语句
		DEPENDENT: UNION(UNION中的第二个或后面的SELECT语句,取决于外面的查询)
		UNION RESULT:(UNION的结果,union语句中第二个select开始后面所有select)
		SUBQUERY:(子查询中的第一个SELECT,结果不依赖于外部查询)
		DEPENDENT SUBQUERY :(子查询中的第一个SELECT,依赖于外部查询)
		DERIVED:(派生表的SELECT, FROM子句的子查询)
		UNCACHEABLE SUBQUERY:(一个子查询的结果不能被缓存,必须重新评估外链接的第一行)
table:表名或负责查询的临时表名
type:检索方式
	system:表只有一行记录
	const:通过索引查找并且一次性找到
	eq_ref:唯一性索引扫描
	ref:非唯一行索引扫描
	range:按范围查找
	index:遍历索引树
	all:全表扫描
possible_keys:可能用到的索引
Key:实际使用的索引
key_len:索引长度,越短越好
ref:列与索引的比较,连接匹配条件,哪些列或常量被用于查找索引列上的值
rows:查找的结果记录条数
Extra:SQL查询的详细信息
	Using where:表示使用where条件过滤
	Using temporary:使用了临时表暂存结果
	Using filesort:说明mysql对数据使用一个外部索引排序。未按照表内的索引顺序进行读取。
	Using index:表示select语句中使用了覆盖索引,直接从索引中取值
	Using join buffer:使用了连接缓存
	Using index condition:表示查询的列有非索引的列