美文网首页
关于关联查询的处理

关于关联查询的处理

作者: 瓢鳍小虾虎 | 来源:发表于2020-11-27 20:55 被阅读0次

    mybatis关联查询配置有2种:关联嵌套结果,关联嵌套查询
    关联的查询过程中如果关联的表可能查到很多数据,应该考虑从业务场景上把这种关联查询杜绝,设计成分开查询的场景。

    高并发项目是明令禁止未知量的关联查询的。

    阿里的规范中禁止多余3张表的join操作。实际开发中尽量不适用join,用多个select分步查找。
    首先join操作会锁定被查询的数据,其他业务无法更新操作,如果涉及多个聚合函数并且缓存也没做控制,相当于同时锁定了多张表,严重影响系统整体性能。虽然单看join比分步查询效率要高一点,但是整体看使用join就是因小失大,弊大于利。

    既然不使用join,分步查找就要尽量优化。
    第一,关联字段要加索引,可以提高查询效率。查询策略是先查询小范围的数据,然后用得到的结果去匹配另一张表。
    第二,表设计上可以考虑冗余,预先设计好一些常用的统计表,提高系统查询效率,但是要考虑数据一致性问题,是即时同步还是定时同步需要根据业务场景和性能综合考量。

    另外从设计理念上应该了解下OLTP和OLAP,可以从更高层面对查询效率问题有个理解。
    相关地址:https://www.zhihu.com/question/24110442/answer/851671343

    相关文章

      网友评论

          本文标题:关于关联查询的处理

          本文链接:https://www.haomeiwen.com/subject/ngsxwktx.html