谈谈你对SQL优化的理解

高级面试题之谈谈你对MYSQL优化的理解:
SQL优化可分为两个部分,⼀个是设计阶段,另⼀个是查询阶段设计阶段运⽤到的优化
设计阶段的优化:
1.使⽤适当的数据库列类型和⼤⼩
2.尽量从设计上采⽤单表查询解决业务问题
3.在适当字段加⼊索引,能⽤唯⼀索引⽤唯⼀索引
查询阶段涉及的优化
1.尽可能不⽤select *:让优化器⽆法完成索引覆盖扫描这类优化,⽽且还2会增加额外的I/O、内存和CPU的消耗
2.慎⽤join操作:单张表查询可以减少锁的竞争,更容易应对业务的发展,⽅便对数据库进⾏拆分
3.慎⽤子查询和临时表:未带索引的字段上的group by操作,UNION查询,部分order by操作,例如distinct函数和order by⼀起使⽤且distinct和order by同⼀个字段
4.尽量不使⽤limit,部分场景可改⽤bewteen and

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

工藤学编程

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值