sql优化

 

查询语句的执行过程

  • 通过网络的通讯协议接收客户端传入的SQL
  • 查看该SQL对应的结果在查询缓存中是否存在
  • 存在则直接返回结果
  • 不存在则继续往下走
  • 由解析器来解析当前SQL,最终形成初步的解析树
  • 再由预处理器对解析树进行调整,完成占位符赋值等操作
  • 查询优化器对最终的解析树进行优化,包括调整SQL顺序等
  • 根据优化后的结果得出查询语句的执行计划,就是查询数据的具体实施方案,交给查询的执行引擎
  • 查询执行引擎调用存储引擎提供的API,最后由存储引擎来完成数据的查询,然后返回结果

 

sql 查询语句优化(主要是优化索引)

  1. 尽量不是使用select * 查询语句,用哪个字段查哪个字段
  2. 应尽量避免在 where 子句中使用 or 来连接条件,否则将导致引擎放弃使用索
    引而进行全表扫描,如:
    select id from t where num=10 or num=20

    可以这样查询:
    select id from t where num=10
    union all
    select id from t where num=20

     
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值