У меня есть множество материализованных представлений, для создания и обновления некоторых из них требуется всего несколько секунд, а для компиляции другим может потребоваться до 40 минут, если SQLDeveloper до этого не аварийно завершился.
Мне нужно объединить несколько строк в моем запросе, и у меня есть следующая функция
create or replace
function stragg
( input varchar2 )
return varchar2
deterministic
parallel_enable
aggregate using stragg_type
;
Затем в моем MV я использую оператор выбора, такой как
SELECT
hse.refno,
STRAGG (DISTINCT per.person_name) as PERSONS
FROM
HOUSES hse,
PERSONS per
Это здорово, потому что дает мне следующее:
refno persons
1 Dave, John, Mary
2 Jack, Jill
Вместо:
refno persons
1 Dave
1 John
1 Mary
2 Jack
2 Jill
Кажется, что когда я использую эту функцию STRAGG
, время, необходимое для создания / обновления MV, резко увеличивается. Есть ли альтернативный метод для получения списка значений, разделенных запятыми? Я использую это во всех своих MV, так что это совершенно необходимая функция для меня
Спасибо