如果不存在SQL Server插入最佳实践
我有一个Competitions
结果表,一方面保存团队成员的名字和他们的排名。
另一方面,我需要维护一个独特的竞争对手名称表:
CREATE TABLE Competitors (cName nvarchar(64) primary key)
现在我在第一个表中有大约200,000个结果,当竞争对手表空时,我可以执行此操作:
INSERT INTO Competitors SELECT DISTINCT Name FROM CompResults
查询只需要大约5秒钟就可以插入大约11,000个名称。
到目前为止,这不是一个关键应用程序,因此我可以考虑每月截断一次竞争对手表,当我收到大约10,000行的新竞争结果时。
但是,当新的和现有的竞争对手增加新的结果时,最佳做法是什么?我不想截断现有的竞争对手表
我只需要为新的竞争对手执行INSERT语句,如果它们存在则不执行任何操作。
相关分类