数据库优化建议

本文详细介绍了数据库中何时应该使用和不使用索引,包括主键、外键和其他常用列的索引策略。同时,针对SQL优化,提出了避免列计算、合理使用in查询、exists替代not in以及优化join操作的建议,以提高查询性能。
摘要由CSDN通过智能技术生成

关于索引:

使用索引的情况:

1.主键必须建立索引(推荐使用数值作为主键,性能最高)

2.外键列也要建立索引

3.经常查询的列建立索引

4.经常出现在where条件中的列建立索引

5.order by、group by、distinct 字段建立索引

6.聚合运算或where条件时,先写有索引的字段

 

不使用索引的情况:

1.基本不怎么查询的字段

2.重复值比较多的字段(比如:性别、状态等)

3.text、image字段不要索引

4.一张表的索引不要太多(不超过10个)

 

 

关于SQL优化:

1.对列的计算尽量避免

2.in查询、or查询 会导致索引失效。可以使用两个语句来代替in或or查询,比如使用union all,例如下图所示

使用下面下面的语句代替上面的or语句,下面的查询会走索引。

3.in换成exists,not in 尽量不用,not in不走索引。

4.is null和is not null两个都不走索引。

5.不等号(<>)不走索引,可以拆分成>和<

6.join时,链接数越少性能越高。

left join时,左表先筛选后再和右表进行关联,可以减少关联数量,提升效率。right jion同理,先对右表筛选后和左表关联。

关联字段最好使用索引。

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值