oracle - 联表查询还是单表查询?

查看:143
本文介绍了oracle - 联表查询还是单表查询?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

项目中经常遇到某个信息类中包含多个表数据的情况。

比如,TaskInfo中包含Task的详细信息,以及发布Task的用户User信息,当查询符合条件的Task列表时,应

该如何获取TaskInfo?

我想到的解决办法:

  1. 单表多次查询。即,先获取所有符合条件的Task信息,再根据Task中的userId去数据库中查询User信息,

组合成TaskInfo。缺点:查询次数过多。 优点:单表查询缓存效率高

2.联表查询。即,直接使用连表查询,一次性将task和user的信息查询出来。优点:查询只一次。缺点:扩

展性差,缓存效率低

3.将userName等需要的字段同时存在Task表中,如此只查询Task表即可,不需要再查询User表。优点:

查询方便。 缺点:当用户UserName修改之后,改动的表有点多。

不知大家如何抉择?

解决方案

用的有ORM框架吗?ORM的一对多查询,一般是使用第一种方案,即N+1查询,后面N次查询TaskInfo如果有缓存的话,整体性能也不差。

如果自己写sql,而且用户并发数不大的话,直接用方案2吧,开发比较直接、简单。

这篇关于oracle - 联表查询还是单表查询?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆