数据库、sql调优思路

经常都会遇到数据库调优的问题,一般我的思路首先是想到索引,第二是想到sql优化,如果sql太复杂了,那我还是一般会用到explain分析sql的执行计划。第三就是看数据库量,需不需要分库分表一、索引 索引是什么?索引是在表的列上创建。索引是一种数据结构--索引包含一个表中列的值,并且这些值存储在一个数据结构中。 为什么要用?加快查询数据效率。 有哪些分类: 聚集索引:二、sql的优化三、分库分表四、读写分离五、增加CP...
摘要由CSDN通过智能技术生成

前言

经常都会被问到或者与遇到数据库调优的问题,我的一般思路如下:

1)首先是数据量,需不需要分库分表;

2)第二是需不需要使用缓存技术,缓存一些热数据。

3)第三是sql优化,如果sql太复杂了,那我一般会用到explain分析sql的执行计划,优化sql;

4)第四选择索引

5)还有些读写分离、网络带宽的东西。

 

一、索引

    对where和order by后面的条件列进行分析,看是否有建索引的必要,要建是建那种索引:普通索引、唯一索引、全文索引或者单行索引、复合索引。

二、sql的优化

    1. 查询语句的优化,首先考虑在where和order by后的条件建立索引

    2. 不要在where后的设置过索引的字段使用=和<>等符号,引擎会放弃索引进而全表扫描

    3. 尽量避免在where子句中使用or,一个字段有索引,一个字段没有索引,引擎也会放弃索引进行全盘扫描。or可以用union all替代。

    4. in和not in的使用也会造成全表扫描,in 和 not in也可以用exists 和not exists代替。如:

select num from a where num in(select num from b)替换为
select num from a where exists(select 1 from b where num=a.num)会提高效率

    5. 注意like的

  • 0
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值