?多表联合查询SQL语句优化

11.27
多表联合查询的优化方式,优化后的SQL及分析


优化方式:
    1.尽量不用'*'
    2.小表作驱动
    3.大表建索引


原本SQL语句:

select * from order left join user on user.id = order.user_id

  


简单优化:

 

select order_id,order_price from order inner join user on user.id = order.user_id

  

  

  




解析
使用具体字段代替*, 节省运算时间.
left join 时系统做的逻辑运算量大于inner join
因为inner join 只需选出能匹配的记录,其他不返回.

相对order来说,user可以看做小表.驱动表设为小表,在多表或拆表情况下查询尤为提升效率.
如果order数据量较多, 且对写入时间没有严格要求, 则插入索引.
根据需求写较为精确的where条件, 能节省计算资源.

 

 

### 优化方案不够全面具体

# 其中优化的语句选择也太过简单

# SQL语句认识程度和熟练程度有待进一步提升

posted @ 2019-11-28 15:26  Jrri  阅读(3327)  评论(0编辑  收藏  举报