一:
1.查询慢sql
show status like 'Slow_queries';
2.分析sql语句
解析执行计划,参考执行计划解读
EXPLAN + sql语句
select_type:分析查询类型,是主查询还是子查询,不太重要
type:很重要,最差ALL,后面补充一些类型。
possiible_keys:使用的主键
key:有没有使用索引
key_len:索引的长度
rows:查询到的结果数量
二:查询注意事项
添加索引的条件:
1)经常作为查询条件、排序的字段
2)不能经常修改
三:不在数据库做计算
禁止使用存储过程、视图、触发器和event
在数据量大的情况下,会降低数据库的性能
禁止使用反向查询 NOT、!=、NOTIN会导致索引失效
当查询只有一行时,使用LIMIT 1
使用关联查询时,尽量使用小的结果集查询(驱动)大的结果集,减少mysql LOOP的次数,减少IO和计算资源
五.清理大的表数据
--在information_schema的数据库中查询所有表的物理大小,将可以清理的表数据,进行清理
select table_name,table_rows,data_length+index_length,
concat(round((data_length+index_length)/1024/1024,2),'MB')
data from tables;