为什么这个sql语句需要这么长时间?
我是Access的初学者。我编写以下SQL语句:为什么这个sql语句需要这么长时间?,sql,ms-access,Sql,Ms Access,我是Access的初学者。我编写以下SQL语句: INSERT INTO tbl_LaunchWeeklyPlan IN 'C:\...\SomeDb.accdb' SELECT ID, LaunchID, WeekYear, LaunchWeek, LaunchYear, Quantity, true AS IsActive FROM tbl_LaunchWeeklyPlan t WHERE t.ID NOT IN (SELECT ID FROM tbl_LaunchWeeklyPla
INSERT INTO tbl_LaunchWeeklyPlan
IN 'C:\...\SomeDb.accdb'
SELECT ID, LaunchID, WeekYear, LaunchWeek, LaunchYear, Quantity, true AS IsActive
FROM tbl_LaunchWeeklyPlan t
WHERE t.ID NOT IN (SELECT ID
FROM tbl_LaunchWeeklyPlan
IN 'C:\...\SomeDb.accdb')
大约需要5分钟,表中包含大约15000条记录。您可以尝试使用外部联接。这可能会执行得更快
INSERT INTO tbl_LaunchWeeklyPlan IN 'C:\...\SomeDb.accdb'
SELECT ID, LaunchID, WeekYear, LaunchWeek, LaunchYear, Quantity, true AS IsActive FROM tbl_LaunchWeeklyPlan t
LEFT JOIN tbl_LaunchWeeklyPlan IN 'C:\...\SomeDb.accdb' f
ON t.ID = f.ID
WHERE f.ID = null
您是否从
MEM\u BE\u GEU(7\u 13)运行此命令。accdb
?不,我从另一个access db运行它。它非常接近,但f.ID为NULL不会更好吗?是的,抱歉,is NULL是正确的语法。您是否尝试过在没有条件的情况下运行insert并忽略错误?我尝试过,实际上解决了将“=”替换为IS的问题,谢谢。