优化多个大表上的视图

时间:2018-11-14 17:06:19

标签: sql oracle view

我在oracle中有很多带激光雷达数据的大表,我想创建一个视图,以便我的用户可以在一个地方查询它们。

我这样说过:

CREATE OR REPLACE VIEW SCHEMA.BIGVIEW AS 
SELECT 1 as JD_ID, PT_ID, PT_GEOM, Z_NAVD88
    FROM SCHEMA.V_TABLE1 
    WHERE CONDITIONS_TABLE1
UNION ALL 
SELECT 2 as JD_ID, PT_ID, PT_GEOM, Z_NAVD88
    FROM SCHEMA.V_TABLE2
    WHERE CONDITIONS_TABLE2
UNION ALL 
SELECT 3 as JD_ID, PT_ID, PT_GEOM, Z_NAVD88
    FROM SCHEMA.V_TABLE3
    WHERE CONDITIONS_TABLE3
UNION ALL 
SELECT 4 as JD_ID, PT_ID, PT_GEOM, Z_NAVD88
    FROM SCHEMA.V_TABLE4 
    WHERE CONDITIONS_TABLE4
--(...ETC, 22 TABLES LIKE THIS)
;

它可以工作,但是速度很慢...

所以我有22个具有相同结构的LIDAR表/视图,每个表/视图都有自己的WHERE条件,其中有很多行具有数百万行。

我想知道是否有一种方法可以优化此视图(除了实现它之外)? 谢谢!

0 个答案:

没有答案