mysql 单表多次查询和多表联合查询,哪个效率高
3个回答
2016-09-06
展开全部
1. mysql表设计合理且有设置缓存和索引等的话,肯定是比自己程序去逐表查取更简洁,高效。专业的事情让专业的工具去做,关系库就是干这个的。
2. 不过不建议3表以上的连接查询(可优化表设计,简化业务逻辑和使用程序分步解析数据),sql复杂代码不易维护,且大数据量带来麻烦时,要考虑分库分表或使用分布式框架
2. 不过不建议3表以上的连接查询(可优化表设计,简化业务逻辑和使用程序分步解析数据),sql复杂代码不易维护,且大数据量带来麻烦时,要考虑分库分表或使用分布式框架
展开全部
SELECT
b.id
FROM
t_address
a,
t_unit
b
WHERE
b.utj=1
AND
b.ufreeze=2
AND
a.id=b.uads
and
a.sid=3
就这个啦!!
原因很简单
b.utj=1不满足的话,那么系统就直接找下一个数据
用的in的话,如果第一个不满足,那么就匹配第二个,第二个不满足,在匹配第三个
,全部不匹配
才找下一条数据!!
这个就可以看到了,可能用IN的话,效率可能会减慢3倍,
打个比方
b.id
FROM
t_address
a,
t_unit
b
WHERE
b.utj=1
AND
b.ufreeze=2
AND
a.id=b.uads
and
a.sid=3
就这个啦!!
原因很简单
b.utj=1不满足的话,那么系统就直接找下一个数据
用的in的话,如果第一个不满足,那么就匹配第二个,第二个不满足,在匹配第三个
,全部不匹配
才找下一条数据!!
这个就可以看到了,可能用IN的话,效率可能会减慢3倍,
打个比方
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
看你具体的需求了,一般肯定是多表联合查询效率高
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |