У меня небольшой вопрос по поводу выполнения подзапроса / присоединения к другой таблице
INSERT
INTO Original.Person
(
PID, Name, Surname, SID
)
(
SELECT ma.PID_new , TBL.Name , ma.Surname, TBL.SID
FROM Copy.Person TBL , original.MATabelle MA
WHERE TBL.PID = p_PID_old
AND TBL.PID = MA.PID_old
);
Это мой SQL, теперь эта штука работает около 1 миллиона раз или больше.
У меня вопрос, что будет быстрее?
- Если я изменю
TBL.SID
на (Select new from helptable where old = tbl.sid
)
ИЛИ
- Если я добавлю 'HelpTable' к
from
и выполню объединение в where
?
edit1
Ну, этот скрипт работает только столько, сколько существует человек.
В моей программе 2 модуля, один из которых заполнен MaTabelle
, а другой - для передачи данных. Эта программа объединяет 2 базы данных вместе, и иногда используется один и тот же ключ.
Сейчас я работаю над решением, что дублирующих ключей не существует.
Мое решение - создать «HelpTable». Владелец ключа (SID
) создает новый ключ и записывает его в «HelpTable». Все остальные таблицы, использующие этот ключ, могут читать его из таблицы «HelpTable».
edit2
Просто у меня в голове что-то есть:
если таблица в качестве ключа, который может быть нулевым (иностранный ключ, который не связан)
тогда это не будет работать с from или?