Heim >Backend-Entwicklung >PHP-Tutorial >mysql多表联合查询与分开查询哪个更好

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

WBOY
WBOYOriginal
2016-06-06 20:44:232193Durchsuche

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

回复内容:

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

强烈建议分开

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

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

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

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

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

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

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn