|
su.dbms.sql- SU.DBMS.SQL ------------------------------------------------------------------ From : Vadim Rumyantsev 2:5030/301 07 Feb 2001 22:40:03 To : Tolik Tentser Subject : Увеличение скорости -------------------------------------------------------------------------------- В сpеду, 07 февpаля 2001 17:33:50, Tolik Tentser писал to All: >> DB2 реально исполняет запрос по мере выполнения вызовов Fetch, а не в >> результате вызова Execute. TT> Т.е. на TT> SELECT * TT> FROM SomeTable ST TT> WHERE ST.SomeField IN (complex_subquery) TT> оно по каждому FETCH перебирает записи из SomeTable и выполняет для TT> каждой из них этот самый complex_subquery, пока не найдет подходящую ? Hет, конечно. Запрос, который ты написал -- это просто хитрый способ записи джойна между SomeTable и таблицами из complex_subquery, и при построении плана его выполнения он, естественно, будет развёрнут в более удобную форму. Возможно, в случае какого-то особонеудобоваримого complex_subquery его придётся сразу выполнить целиком, а не разворачивать пошагово по мере продвижения по SomeTable (я не возьмусь сходу утверждать, что такая ситуация недостижима), но записи в SomeTable, тем не менее, всё равно будут блокироваться по мере их фетча. Максимум неприятностей, которых можно ожидать от такого запроса -- блокировка некоторых записей из таблиц complex_subquery в самом начале, но эта ситуация опять же никак не зависит от степени "дофетченности" resultset'а. Sincerely, Vadim. --- GoldED/2 3.0.1-GP * Origin: Electronic Kludge (2:5030/301) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /su.dbms.sql/22163a81c428.html, оценка из 5, голосов 10
|