本来本人是想用理论来说服大家的,但是可能有些人不信理论,只信某些"大神"的凭空言论,所以本人喜欢拿事实说话,再加上理论进行说明
测试环境:
3张表:
create table if not exists...#
可以看出,当获取1000条数据时,join查询大致为6秒左右,分开查询为4.5秒左右,比join快了25%,但是由于分开查询的数据并不是可以直接使用的数据,还需要做数据拼接,这个时候消耗到了6.7秒...,比join查询还更慢了0.7秒
一对多小数据测试
为了测试的严谨性,我们每次查出10个user,并且直接join获取所有发布的文章数据....,对于性能方面也有一定的掌握了,所以,说一下几个知识点:
1:join查询会消耗性能,但是消耗的是组装数据的性能(数据量越大,越复杂时越明显)
2:join查询速度与分开查询几乎一致....1:join如果逻辑太多,代码将非常难懂
2:join如果太多,对于这条sql 的索引优化将会变得更难
3:join的sql复杂,可读性差,同时由于sql复杂,很难被mysql缓存
4:分开查询的sql