2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




Начать новую тему Ответить на тему
 
 Как работает подзапрос в Oracle 10?
Сообщение05.01.2011, 13:55 
Заслуженный участник


08/04/08
8556
Написал запрос вида:
Код:
select
  decode(PAR,0,A1,B1) as F1,
  ...
  decode(PAR,0,An,Bn) as Fn,
  PAR
from
  (select
    nvl((select 1 from TBL1 where conditions and rownum = 1),0) as PAR
  from TABLE t
  where t.ID = :ID
  )

Посмотрел план выполнения. В плане выполнения $n+1$ раз написано:
Код:
COUNT STOPKEY
TABLE ACCESS BY INDEX ROWID
INDEX RANGE SCAN

Работает-то быстро, но меня сам результат очень смутил - неужели Оракл $n+1$ раз выполняет подзапрос вместо того, чтобы выполнить его 1 раз и потом использовать результат его вычисления??? :shock:
В гугле что-то ничего не обнаружил. Народ на работе не знает...

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ 1 сообщение ] 

Модераторы: Karan, Toucan, PAV, maxal, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group