我还是SQL的新手,我的下面的查询完美无缺。但是,随着表格的增长,我担心这是完成此任务的最有效方式。
UPDATE tblPNPStoreStock
SET [Date] = CAST('2009-05-25' AS DATETIME)
FROM tblPNPStoreStock
WHERE [Last sold] IS NULL;
有人说我应该研究一种嵌套的方法 - 我不知道从哪里开始。
答案 0 :(得分:2)
在SQL Server 2008+中,您可以create a filtered index,它可以索引[Last sold]
为NULL的行:
CREATE NONCLUSTERED INDEX
fix_tblPNPStoreStock_last_sold
ON
tblPNPStoreStock(
[Last sold]
)
WHERE
[Last sold] IS NULL;
这将优化您的更新语句。请注意,如果基于该列的条件不同,则常规索引可能会更好。