gpt4 book ai didi

sql - NOT IN Insert 的性能增强

转载 作者:行者123 更新时间:2023-12-02 02:00:41 26 4
gpt4 key购买 nike

我在 MS SQL 存储过程中有以下插入:

insert into Status_Table(Field1, Field2, Field3, Status_ID, Status_ID2)
select a.Field1 , a.Field2 , a.Field3 , a.Status_ID , a.Status_ID2
from ##StatusTempTable as a
where a.Status_ID+a.Status_ID2 not in(select Status_ID+Status_ID2 from Status_Table)

在执行插入之前,我将检查是否存在任何具有相同 Status_ID 和 Status_ID2 的行。表 Status_Table 包含超过 3 个 Mio 行,Insert 变得很长。是否有其他方法可以提高性能?

最佳答案

尝试使用 NOT EXISTS 而不是 NOT IN

insert into Status_Table(Field1, Field2, Field3, Status_ID, Status_ID2)
select a.Field1 , a.Field2 , a.Field3 , a.Status_ID , a.Status_ID2
from ##StatusTempTable as a
where not exists(select * from Status_Table s where s.Status_ID = a.Status_ID AND s.Status_ID2 = s.Status_ID2 )

关于sql - NOT IN Insert 的性能增强,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17418835/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com