>백엔드 개발 >PHP 튜토리얼 >mysql多表联合查询与分开查询哪个更好

mysql多表联合查询与分开查询哪个更好

WBOY
WBOY원래의
2016-06-06 20:44:232193검색

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

回复内容:

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

强烈建议分开

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

1.有没有缓存,如果有缓存,建议所有的查询全部分开;
2.没有缓存,联合查询不复杂,就联合查询;
3.没有缓存,联合查询很复杂,建议把复杂的查询分开。

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

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

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

如果数据量不是很大连接查询到不失一个方便快捷的方案.
但是如果数据一旦多了,而且又是表级别的锁的话,会很容易导致系统崩掉.

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.