Текущий архив: 2008.04.27;
Скачать: CL | DM;
Вниз
SQL запрос Найти похожие ветки
← →
jack128_ (2008-03-31 18:04) [0]СУБД FireBird1б5
Имеем такой запрос:update DONGLE_REPLACES dr
set
dr.DONGLE_ID = (select d.DONGLEID from DONGLES d where d.ID = dr.DONGLE_OLD),
dr.DONGLE_PN = (select d.DONGLEPN from DONGLES d where d.ID = dr.DONGLE_OLD)
как видим для апдейта каждой записи выполняется два запроса. Мона как нить вынести из "за скобки" ?? Чтоб одним селектом выбрать оба поля из таблицы dongles и запихнуть их в dongle_replaces
← →
jack128_ (2008-03-31 18:04) [1]
> как видим для апдейта каждой записи выполняется два подзапроса select. Мона как нить вынести их "за скобки" ?
← →
sniknik © (2008-03-31 18:15) [2]в mssql (и даже access) есть такая операция как join, можно соединить и апдейтить все скопом.
в FireBird1б5 такой нет?
← →
Ega23 © (2008-03-31 18:32) [3]А если так:
update DONGLE_REPLACES
set
DONGLE_ID = d.DONGLEID,
DONGLE_PN = d.DONGLEPN
from DONGLE_REPLACES dr, DONGLES d
where d.ID = dr.DONGLE_OLD
?
← →
sniknik © (2008-03-31 20:09) [4]> А если так:
это и есть join, только неявный, если пройдет то пройдет и так (предпочитаю писать явно)update DONGLE_REPLACES
set
DONGLE_ID = d.DONGLEID,
DONGLE_PN = d.DONGLEPN
from DONGLE_REPLACES dr INNER JOIN DONGLES d ON dr.DONGLE_OLD = d.ID
тоже самое но, имхо, более понятно.
← →
Ega23 © (2008-03-31 21:23) [5]
> sniknik © (31.03.08 20:09) [4]
Кстати, о пцыцах: вот объясни мне, какая разница - INNER JOIN или в where условие?
Просто в разных книжках по MSSQL всречаются обе формы записи.
Какая из них более правильная?
← →
Anatoly Podgoretsky © (2008-03-31 21:40) [6]> Ega23 (31.03.2008 21:23:05) [5]
Что такое правильная.
А условие в WHERE частный, неоптимальный случай INNER JOIN
Не надо совать условия соединения в условия отбора.
Некоторые, даже мощные СУБД долго не могли это реализовать.
← →
Johnmen © (2008-03-31 22:17) [7]
> jack128_ (31.03.08 18:04)
Никак.
Если проблемы со скоростью из-за этих двух запросов (в чем я сомневаюсь), то пиши ХП.
← →
jack128_ (2008-04-01 09:55) [8]> sniknik ©
> Ega23 ©
нет, FB таких апдейтов недопускает..
> Если проблемы со скоростью из-за этих двух запросов
ну, пока сложно сказать насколько это будет тормозить, но на всякий случай интересуюсь :-)
Страницы: 1 вся ветка
Текущий архив: 2008.04.27;
Скачать: CL | DM;
Память: 0.48 MB
Время: 0.019 c