如何提高oracle视图的查询速度?

用sql建立了一个视图,把oracle中的26个表连接(union)来了,浏览视图发现有点慢,但是整体数据量不是特别大,大概67w吧,有木有优化的办法啊?... 用sql建立了一个视图,把oracle中的26个表连接(union)来了,浏览视图发现有点慢,但是整体数据量不是特别大,大概67w吧,有木有优化的办法啊? 展开
 我来答
匿名用户
推荐于2017-07-02
展开全部
为什么要把26个表 union 起来,每个表都要查一次,太费劲了

如果经常用到这个表查询的话,可以建立一个 物化视图 materialized view ,并根据相应的字段(哪个 字段查询次数比较多),建立索引,这样查询效率会不会好些
另外,如果是按日期或者按地区等分的表,可以放在一个表中,以分区表的形式存在,查询时,只查询那个分区就可以了,你可以看一下 partition list
qk...7@sohu.com
2017-07-01 · TA获得超过125个赞
知道小有建树答主
回答量:146
采纳率:65%
帮助的人:30.2万
展开全部
我是用的sqlserver视图是我感觉使程序的维护性更高,缺点就是占了点空间而已,比方很多的查询都差不多都是使用固定几张表联结出来的查询,如果在存储过程里每个都要自己去联接查询,那么以后要改个列或列的计算表达式要改下,那还要去找每条存储过程,改起来要太费时了吧。SQLSERVER中 感觉性能方法都一样视图只是个虚拟表,到查询的时候,我看SQL执行计划,还是重新把相关表联接起来,最终显示结果集。希望对你有帮助,期待别人讲解
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
thain0
2013-05-14 · TA获得超过267个赞
知道小有建树答主
回答量:597
采纳率:0%
帮助的人:527万
展开全部
如果各表数据不重复的话,可以使用union all
union会对被union起来的表做distinct操作,而union all对于被union起来的各表不做distinct操作
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
xpcn04
2013-05-14 · TA获得超过965个赞
知道大有可为答主
回答量:2978
采纳率:0%
帮助的人:1585万
展开全部
把oracle中的26个表连接(union)来了?
26个表????
强烈不建议操作。
什么数据要26个表来处理?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
战神火车头
2013-05-14 · 超过16用户采纳过TA的回答
知道答主
回答量:111
采纳率:0%
帮助的人:52.7万
展开全部
添加索引 会大大增加查询速度
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式