永发信息网

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

答案:6  悬赏:40  手机版
解决时间 2021-01-30 10:18
  • 提问者网友:孤山下
  • 2021-01-29 23:56
如何提高oracle视图的查询速度?
最佳答案
  • 五星知识达人网友:掌灯师
  • 2021-01-30 01:19
为什么要把26个表 union 起来,每个表都要查一次,太费劲了

如果经常用到这个表查询的话,可以建立一个 物化视图 materialized view ,并根据相应的字段(哪个 字段查询次数比较多),建立索引,这样查询效率会不会好些
另外,如果是按日期或者按地区等分的表,可以放在一个表中,以分区表的形式存在,查询时,只查询那个分区就可以了,你可以看一下 partition list
全部回答
  • 1楼网友:冷風如刀
  • 2021-01-30 04:16
把oracle中的26个表连接(union)来了?
26个表????
强烈不建议操作。
什么数据要26个表来处理?
  • 2楼网友:神的生死簿
  • 2021-01-30 03:54
添加索引 会大大增加查询速度
  • 3楼网友:空山清雨
  • 2021-01-30 02:34
改建物化视图吧
  • 4楼网友:行雁书
  • 2021-01-30 02:12
如果各表数据不重复的话,可以使用union all
union会对被union起来的表做distinct操作,而union all对于被union起来的各表不做distinct操作
  • 5楼网友:廢物販賣機
  • 2021-01-30 01:49
我是用的sqlserver视图是我感觉使程序的维护性更高,缺点就是占了点空间而已,比方很多的查询都差不多都是使用固定几张表联结出来的查询,如果在存储过程里每个都要自己去联接查询,那么以后要改个列或列的计算表达式要改下,那还要去找每条存储过程,改起来要太费时了吧。SQLSERVER中 感觉性能方法都一样视图只是个虚拟表,到查询的时候,我看SQL执行计划,还是重新把相关表联接起来,最终显示结果集。希望对你有帮助,期待别人讲解
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯