Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.07.11;
Скачать: CL | DM;

Вниз

InterBase - Сколько раз выполняется вложенный запрос в where   Найти похожие ветки 

 
Tariel   (2004-06-14 09:48) [0]

У меня было два вложенных запроса, один был связан с внешней, но я думал что слишком накладно вызывать подзапрос к каждой записи и раелизовал другой запрос, где вложенный не зависит от внешнего, но только скорость не увеличилась. У меня есть подозрение что InterBase/FireBird вызывает подзапрос для каждой записи независимо от того связан он с внешним или нет.
Вот пример
1.
select * from MyTable outer
where
( select Max(MyField)
 from MyTable
 WHERE outer.ID = ID) = MyField
2.
select * from MyTable
where
 MyField in
   (select Max(MyField) from MyTable)


 
Tariel   (2004-06-14 09:56) [1]

Забыл,во стором есть еще group by, а выполняется он в раз пять медленнее


 
Anry   (2004-06-14 10:43) [2]

Посмотри план запроса. Если NATURAL чтение то IBase делает тебе полный перебор. Попробуй оптимизировать добавив нужные индексы, только не перебарщивай с их количеством (только необходимые).


 
Johnmen ©   (2004-06-14 17:24) [3]

Если подзапрос полностью автономен, то он выполнится один раз. По кр.мере в случае последних версий сервера.
Второй запрос выполняется долго, т.к. группировка очень ресурсоемкая операция, особенно по времени...


 
Romkin ©   (2004-06-14 17:28) [4]

А если подзапрос зависит от внешнего, то он выполнится для каждой строки



Страницы: 1 вся ветка

Текущий архив: 2004.07.11;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.026 c
1-1088508750
Ш-К
2004-06-29 15:32
2004.07.11
Корень XML документа


14-1087714070
N170
2004-06-20 10:47
2004.07.11
Поздравляю с воскрешением форума. Что это было?


14-1087972511
Карелин Артем
2004-06-23 10:35
2004.07.11
Где найти анализатор логов сервера формата IAS? (MicroSoft)


1-1087545504
Mitrofan
2004-06-18 11:58
2004.07.11
Как по существующему меню приложения построить дерево


3-1087307503
denis24
2004-06-15 17:51
2004.07.11
Внешнее обьединение с несколькими таблицами