关于sql优化的一些点

慢查询日志

参考: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索引

上一篇:分布式memcached-虚拟节点


下一篇:IDEA的 mybatis插件报错 - IDE Fatal Errors