,比join查询还更慢了0.7秒
一对多小数据测试
为了测试的严谨性,我们每次查出10个user,并且直接join获取所有发布的文章数据....在mysql 查询关联中,有以下几种关联形式:
1:1对1关联,每次查询数据关联数据都只有一条数据
2:1对多关联,每次查询数据关联数据为1条以上
同时,根据关联主次关系,以及数据量的大小,可以区分各种情况...while循环获取,本文使用的foreach其实在原生查询中,可以省略好几个步骤,应该是分开查询更快
第二个案例:
每次查询10条,1对多关联
该案例
由于查询数据量并不大,
user_list表字段数据并不多...(如果字段数多,也会影响),一条数据大头在article_list中
同时因为分开查询,将增加一次查询次数,
关系到了第3点的说明
所以导致分开查询比join查询更慢了差不多一倍....(只要有索引,就非常快)
3:分开查询会多执行一条sql,意味着查询速度将会更慢
4:可以通过预先缓存方式,节省掉join小数据的组装数据开销以及带宽开销
那为什么有大佬不建议使用join呢?