mysql 联表比对,【mysql】mysql多表联合查询与分开查询哪个更好

联合多表查询数据时,写多个sql分开查询好,还是写一个sql做联合查询好呢

回答

强烈建议分开

复杂查询单次查询的时间比较长,分开查询每次查询很快但是总查询时间比较长.分开查询意味着每次数据库锁住的时间很短,可以在多个请求间快速切换,这个整个系统的吞吐量就会大,复杂查询很容易变成严重的排队. 当然,这说法仅仅对mysql几个基本引擎有效,对于那些商业引擎,有快照,隔离之类的功能,这些影响基本可以忽略.不过我认为,代码最重要的不是效率,不是设计,而是能让人看懂,短小的语句显然比复杂嵌套语句容易理解,特别是让别人理解,所以我建议尽可能不要用复杂查询,不要用那些在查询语句中无法体现的功能,比如外键约束,存储过程之类的东西

1.有没有缓存,如果有缓存,建议所有的查询全部分开;

2.没有缓存,联合查询不复杂,就联合查询;

3.没有缓存,联合查询很复杂,建议把复杂的查询分开。

简单的数据量少的话联合查询,复杂的数据量大的最好分开查询。

这个还得看表的数量及场景的吧。

看使用场景决定哪种比较好

如果数据量不是很大连接查询到不失一个方便快捷的方案.

但是如果数据一旦多了,而且又是表级别的锁的话,会很容易导致系统崩掉.

分开会比较好

  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值