(这里的分开查询做了优化,因为只有100条消息,所以只需要一次性查出100条即可)
join查询在1.4-4秒之间,而分开查询也在1.5-3.4秒之间,也没有更快
原理解析:
在mysql 查询关联中...每次查大量数据
2:A,B 1对1关联,B数据总量80万,A数据总量90万 ,每次查少量数据/每次查大量数据
3:A,B 1对多关联,B数据总量90万,A数据总量80万,每次查少量数据/每次查大量数据
在关联需求中...while循环获取,本文使用的foreach其实在原生查询中,可以省略好几个步骤,应该是分开查询更快
第二个案例:
每次查询10条,1对多关联
该案例
由于查询数据量并不大,
user_list表字段数据并不多...(如果字段数多,也会影响),一条数据大头在article_list中
同时因为分开查询,将增加一次查询次数,
关系到了第3点的说明
所以导致分开查询比join查询更慢了差不多一倍....1:join如果逻辑太多,代码将非常难懂
2:join如果太多,对于这条sql 的索引优化将会变得更难
3:join的sql复杂,可读性差,同时由于sql复杂,很难被mysql缓存
4:分开查询的sql