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