类似淘宝搜索店铺结果页,有shop和product表,做个shop的列表页,每页显示10个shop, 每个shop显示4个product,假设就按shop的id排序分页,
最简单的就是读出10个shop,然后逐次去数据库获取product,但感觉读数据库有点频繁了。
不知道有没有更高效的一次性读取数据的写法?
SELECT product., shop. FROM product
JOIN shop ON shop.product_id = product.id
这样是可以读取所有数据,但问题也很明显,SQL查出来的数据是二维数据,你就需要编写更麻烦的程序来组合层次让数据变成多维度。除非你愿意这样,否则从SQL的角度无法减少数据读取。
你可以使用redis把shop下的的product缓存起来,这样product就不需要再读数据库了。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。