сколько раз выполняется вложенный селект
От: jerboa  
Дата: 16.06.11 11:43
Оценка:
select count(T1.id)
    from T1
where T1.id not in (select t1_id from T2)


вложенный селект из Т2 выполняется один раз или для каждой строчки из Т1?
Re: сколько раз выполняется вложенный селект
От: Alex.Che  
Дата: 16.06.11 11:51
Оценка:
Hello, jerboa!
You wrote on Thu, 16 Jun 2011 11:43:17 GMT:

> вложенный селект из Т2 выполняется один раз или для каждой строчки из Т1?


План какой?
Да и сервер.

--
With best regards, Alex Cherednichenko.
Posted via RSDN NNTP Server 2.1 beta
Re[2]: сколько раз выполняется вложенный селект
От: jerboa  
Дата: 16.06.11 11:59
Оценка:
Здравствуйте, Alex.Che, Вы писали:

AC>Да и сервер.


postgresql 8.3
Re: сколько раз выполняется вложенный селект
От: Ellin Россия www.rsdn.ru
Дата: 16.06.11 13:01
Оценка:
Здравствуйте, jerboa, Вы писали:

J>
J>select count(T1.id)
J>    from T1
J>where T1.id not in (select t1_id from T2)
J>


J>вложенный селект из Т2 выполняется один раз или для каждой строчки из Т1?


Вложенный селект выполняется оптимальное колличество раз.
Re: сколько раз выполняется вложенный селект
От: Softwarer http://softwarer.ru
Дата: 18.06.11 16:17
Оценка:
Здравствуйте, jerboa, Вы писали:

J>вложенный селект из Т2 выполняется один раз или для каждой строчки из Т1?


Зависит от СУБД и расположения звёзд. В некоторых СУБД вложенный селект может ещё и дать разные результаты для разных строчек из T1

В данном конкретном запросе я бы не особо волновался об этой детали, поскольку даже "каждый раз" при объёмах порядка миллионов записей выполнится вполне быстро. Ну а в общем случае — выше прозвучало правильное слово "план запроса", читайте, что это такое и как его искать в вашей СУБД.
Re: сколько раз выполняется вложенный селект
От: MasterZiv СССР  
Дата: 27.06.11 07:50
Оценка:
On 16.06.2011 15:43, jerboa wrote:

> select count(T1.id)

> from T1
> where T1.idnot in (select t1_idfrom T2)
>
>
>
> вложенный селект из Т2 выполняется один раз или для каждой строчки из Т1?
> сколько раз выполняется вложенный селект <message/4310776.aspx> Оценить

SQL это не определяет, так что не пытайся рассуждать на эту тему.

Обычно все СУБД выполнять подзапрос один раз, поскольку он некоррелированный.
Ещё чаще подзапроса вообще не будет как пункта в физическом плане запроса.
Posted via RSDN NNTP Server 2.1 beta
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.