mysql 多表联查语句优化_?多表联合查询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语句认识程度和熟练程度有待进一步提升

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值