1.先看慢查询日志,输入showprocesslist,查询出那些sql查询起来比较慢,对sql进行优化.
2. 按照主键顺序插入:使用mysql搜索引擎是inndb数据结构是B+树中数据是有序的。
1.建议导入文件时按照主键顺序,这样比较快。
2.关闭唯一性校验,导入完成后开启唯一性校验。
3.关闭自动提交.
3.insert优化:
1.insert时候对主键进行排序;
2.一次性insert插入多条数据,每次insert都只插入一条数据的话,会与数据库建立多次链接从而影响效率。
4.order by优化:
给排序字段添加索引,对有索引的字段多个字段排序时,同时时候降序或者升序,走索引,效率快。
5.group by优化:
1.由于groupby会进行分组和排序的操作,只是分组的话不用排序,sql可以写成
select age from 表 groupby age order by null;来提升查询效率;
2.给分组字段添加索引来提高查询效率;
6.尽量少使用子查询,使用多表联查来代替。
7.or优化:用union来替换or。
select * from 表 where id=1 or id=2---->
select * from 表 where id =1 union select * from 表 where id =2;(union求并集)
8.limit优化:利用主键索引去查询,select * from where id>2000 limit 10;查询2000到2010的数据
explain
9.一个字段有多个索引单列索引或者复合索引可以人为的使用任何一个索引。