Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Oracle Новый топик    Ответить
 Подскажите по хинту MATERIALIZE  [new]
Alibek B.
Member

Откуда:
Сообщений: 3722
У меня в БД есть таблица тарифов TARIFF, с которой нужно делать всякие непотребные вещи, которые обычно в БД не делают — самосоединения по регулярным выражением, работа с подстроками и т.д. Конечным результатом этих действий должен быть относительно небольшой (два-три десятка строка) набор с идентификаторами тарифов, с которыми нужно проводить дальнейшую работу. Дальнейшая работа — это соединения с другими таблицами, в том числе и с относительно большими (несколько сотен тысяч или миллионов записей), конечная выборка будет относительно небольшая (в пределах сотен строк).
Я думаю запросы оформлять примерно так:
WITH T as
(
  select T.TARIFF_ID as BASE_ID, T1.TARIFF_ID as TARIFF_ID_1, ...
  from TARIFF T
  join TARIFF T1 on (T1.NAME like '...' and regexp_like(T1.INSTRUCTION,'...') and regexp_replace(T1.NAME,'...','\1') = regexp_replace(T.NAME, '...', '\1'))
  ...
)
select ...
from ...
join T on (T.TARIFF_ID = S.TARIFF_ID)
...


Стоит ли в данном случае указывать хинт для материализации или оптимизатор сам разберется?
20 мар 17, 16:08    [20314520]     Ответить | Цитировать Сообщить модератору
 Re: Подскажите по хинту MATERIALIZE  [new]
env
Member

Откуда: Россия, Москва
Сообщений: 6729
Alibek B.,

Посмотри план запроса (temp table matiegorealization) и прими сам решение.
20 мар 17, 16:42    [20314768]     Ответить | Цитировать Сообщить модератору
 Re: Подскажите по хинту MATERIALIZE  [new]
dbms_photoshop
Member

Откуда: sqlmdx.net
Сообщений: 5151
Alibek B.
Стоит ли в данном случае указывать хинт для материализации или оптимизатор сам разберется?
Сам разберется, только решение для temp table transformation принимается на основании эвристик, а не стоимости и может отличаться от того, что ожидаешь ты.
20 мар 17, 17:49    [20315024]     Ответить | Цитировать Сообщить модератору
 Re: Подскажите по хинту MATERIALIZE  [new]
oraserv
Member

Откуда: CCCP
Сообщений: 45
Однозначно стоит
21 мар 17, 12:03    [20317021]     Ответить | Цитировать Сообщить модератору
Все форумы / Oracle Ответить