我在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条件,其中有很多行具有数百万行。
我想知道是否有一种方法可以优化此视图(除了实现它之外)? 谢谢!