在mysql 查询关联中,有以下几种关联形式:
1:1对1关联,每次查询数据关联数据都只有一条数据
2:1对多关联,每次查询数据关联数据为1条以上
同时,根据关联主次关系,以及数据量的大小,可以区分各种情况...每次查大量数据
2:A,B 1对1关联,B数据总量80万,A数据总量90万 ,每次查少量数据/每次查大量数据
3:A,B 1对多关联,B数据总量90万,A数据总量80万,每次查少量数据/每次查大量数据
在关联需求中...,所以可以忽略索引问题
3:查询次数,每次查询,意味着mysql都需要进行一次sql命令解析->sql查询->数据传回,查询次数越少则越快
4:数据组装,当使用join,order by,group by...while循环获取,本文使用的foreach其实在原生查询中,可以省略好几个步骤,应该是分开查询更快
第二个案例:
每次查询10条,1对多关联
该案例
由于查询数据量并不大,
user_list表字段数据并不多...(如果字段数多,也会影响),一条数据大头在article_list中
同时因为分开查询,将增加一次查询次数,
关系到了第3点的说明
所以导致分开查询比join查询更慢了差不多一倍.