Это не проблема, требующая ответа, а скорее вопрос о том, почему это происходит.
У меня есть поле в одной таблице, которое заполнено 'Y' или 'N', и у меня есть запрос, который просто берет значение этого поля и выскакивает в другую таблицу
В таблице приблизительно 25 000 записей
Выполнение запроса ниже занимает около 25 секунд.
UPDATE ObjectivesApproved
INNER JOIN Approved
ON ObjectivesApproved.ID = Approved.ID
SET ObjectivesApproved.Football = [Approved].[Cri Football Related];
Удаление операции JOIN делает запрос еще длиннее.
Если, однако, я делаю ниже, вся операция занимает менее 5 секунд, даже если она выполняет 2 запроса
UPDATE ObjectivesApproved
INNER JOIN Approved
ON ObjectivesApproved.ID = Approved.ID
SET ObjectivesApproved.Football = 'Y'
WHERE (([Approved].[Cri Football Related]='Y'));
UPDATE Approved
INNER JOIN ObjectivesApproved
ON Approved.ID = ObjectivesApproved.ID
SET ObjectivesApproved.Football = 'N'
WHERE (([ObjectivesApproved].[Football] Is Null));
Я доволен своим решением, даже если оно немного не элегантно, но для того, чтобы углубить мое понимание SQL, почему это может происходить?