Ускорение иерархического запроса Oracle

Есть две таблицы, в одной содержится иерархия об адресных объектах (119772625 строк), в другой наименование этих объектов (1942868 строк), я хочу сформировать адреса в виде строк при помощи иерархического запроса, использую следующий код:

Select adh.objectid
       , replace(regexp_replace(SYS_CONNECT_BY_PATH(ad.typename || ' ' || ad.name, '^'), '\^', ', ', 2), '^') fulladres
From 
(
Select objectid
       , name
       , typename
From fias2.addrobj 
Where isactual = 1 
      and isactive = 1
) ad
     , 
(
Select objectid
       , parentobjid
From fias2.admhierarchy 
Where isactive = 1 
      and regioncode is not null
) adh
Where adh.objectid = ad.objectid

start with adh.parentobjid = 0
connect by nocycle prior adh.objectid = adh.parentobjid

Результат работы запроса: введите сюда описание изображения

Содержимое таблицы иерархии и информации об адресных элементов соответственно: введите сюда описание изображения

Запрос выполняется в районе 17 секунд, индексация столбцов objectid и parentobjid только усугубляют ситуацию, есть ли возможность как-то оптимизировать или ускорить это запрос или может быть как-то можно по-другому его написать?

DDL таблиц:

create table ADDROBJ (
ID number not null
, OBJECTID number not null
, OBJECTGUID varchar2(36) not null
, CHANGEID number not null
, NAME varchar2(500) not null
, TYPENAME varchar2(100) not null
, THE_LEVEL varchar2(20) not null
, OPERTYPEID number not null
, PREVID number null
, NEXTID number null
, UPDATEDATE date not null
, STARTDATE date not null
, ENDDATE date not null
, ISACTUAL number not null
, ISACTIVE number not null
)
create table fias2.ADMHIERARCHY (
ID number not null
, OBJECTID number not null
, PARENTOBJID number null
, CHANGEID number not null
, REGIONCODE varchar2(4) null
, AREACODE varchar2(4) null
, CITYCODE varchar2(4) null
, PLACECODE varchar2(4) null
, PLANCODE varchar2(4) null
, STREETCODE varchar2(4) null
, PREVID number null
, NEXTID number null
, UPDATEDATE date not null
, STARTDATE date not null
, ENDDATE date not null
, ISACTIVE number not null
)

План выполнения запроса: введите сюда описание изображения P.S. Прошу прощения за качество скринов.


Ответы (0 шт):