慢查询日志
参考:https://www.cnblogs.com/saneri/p/6656161.html
查询是否开启慢查询日志: show variables like '%slow_query_log%';
开启慢查询日志: set global slow_query_log=1;
查询慢查询的阈值:show variables like '%long_query_time%';
设置超过多少秒就记录慢查询日志: set global long_query_time=3;
日志输出的形式: log_output
说明一下:log_output可以是TABLE也可以是FILE,也可以同时是,用逗号隔开,分别表示日志以表输出和以文件输出;
未做索引的查询也做慢查询日志: log_queries_not_using_indexes
索引(空间换时间)
主键索引
普通索引
唯一索引
全文索引
组合索引
伴随
sql语句优化
所有查询*
尽量少用 select * from
Null
不要用 where xx is null ,可以给字段初始化一个值以对应null的情况
!=
尽量不要用 != ,使用 in 或者 not in
少用子查询
子查询:嵌套(select查询)
in
尽量不用in用 between 和 exists
join 超过三张表不要join,join的字段最好是索引
索引 有唯一属性的尽量建索引,order by索引