У меня есть много больших таблиц с лидарными данными в 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 и многие с миллионами строк.
Интересно, есть ли способ оптимизировать это представление (кроме как его материализовать)?Спасибо!