比如说有一个存储英语阅读理解题目信息的三张表
第一张是用于存储阅读理解文章的表:叫reading_context,第二张用于存储题目列表:叫question,第三张存储选项列表:叫choice
关系分别是:reading_context:question 是 1对n
,question:choice 又是 1对n
也就是一篇阅读理解下可能有多个题目,一个题目下又有四个(或者多个)选项。我要查一篇阅读理解的所有信息(包括文章,所有题目,和所有题目下的所有选项),这样的情况下
是先根据reading_context的id去查question,再根据question的id分别去查choice好呢?还是一条sql语句查出来好呢?
一条sql的话我就是各种join,最后信息是全出来了,不过查出来的表肯定是存在各种冗余的。分开查的话逻辑简单好处理,结果无冗余,就是sql语句多了一些,原来一条sql要变成四五条才行。
大家是怎么做的~?
1、优化一下表索引,多表查询看你数据量有多大,如果大的话,先建立多表视图,再进行查询,数据量小无所谓。
2、一个表一个表的查,查好之后,把结果放缓存就可以,速度也不会太慢的
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。