SQL优化

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.一个字段有多个索引单列索引或者复合索引可以人为的使用任何一个索引。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值