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

Откуда: Киев
Сообщений: 78
Добрый день.
Подскажите плз ответ или тыкните где почитать...

есть запрос вида
with a as
    ( 
      select f1, f2 from table1
    ),
      b as
    (
      select f3, f4 from table2, b where f4=b.f1    
    ),  
      c as
    (
      select f5, f6 from table3, b, c ....
    ), 
   
    select  .... from c, .... where ....        
        ;

Как Oracle вычисляет и использует память при выполнении данного запроса?
Пересчитывает ли он выборку а несколько раз или выполняет один раз и хранит в памяти?
И выгодна ли в плане производительности такая структура запросов?
9 апр 09, 13:43    [7044478]     Ответить | Цитировать Сообщить модератору
 Re: работа Oracle с with  [new]
Добрый Э - Эх
Guest
Всяко бывает. А как было в конкретно взятый раз - нужно смотреть план выполнения.
9 апр 09, 13:45    [7044492]     Ответить | Цитировать Сообщить модератору
 Re: работа Oracle с with  [new]
Lecter
Member

Откуда: Киев
Сообщений: 2032
A_R_T_Y_E_M,

Смотрите план запроса и все вопросы отпадут...
9 апр 09, 13:46    [7044505]     Ответить | Цитировать Сообщить модератору
 Re: работа Oracle с with  [new]
stax..
Guest
A_R_T_Y_E_M,

хранить можно заставить хинтом /*+ materialize */

.....
stax
9 апр 09, 13:50    [7044542]     Ответить | Цитировать Сообщить модератору
 Re: работа Oracle с with  [new]
Добрый Э - Эх
Guest
stax..
A_R_T_Y_E_M,

хранить можно заставить хинтом /*+ materialize */

.....
stax
А не хранить - хинтом /*+ inline*/ :)
9 апр 09, 13:51    [7044559]     Ответить | Цитировать Сообщить модератору
Все форумы / Oracle Ответить