gpt4 book ai didi

sql - 非聚集索引包含的列

转载 作者:行者123 更新时间:2023-12-02 18:02:05 37 4
gpt4 key购买 nike

你好
我有一个包含大量记录的表(1100 万条)。这些记录有一个外国 ID、日期和一些其他字段。
我有一个经常在我的应用程序中运行的查询。查询类似于:


if( SELECT * FROM myTable WHERE Date=@Date AND ForeignID=@ForeignID != 0 )
UPDATE myTable SET ....... WHERE Date=@Date AND ForeignID=@ForeignID
else
INSERT INTO myTable(......) VALUES(.....)

我想添加“日期”作为非聚集索引。那么,如果我添加“ForeignID”列作为该索引的包含列,它会帮助查询执行得更快吗?
谢谢。

最佳答案

我同意 @gbn 的观点,即您需要 Date 和foreignID 上的索引,而不是“包含列”。

您可以按如下方式创建它:

CREATE NONCLUSTERED INDEX [IDX1] ON [myTable] ([Date], [ForeignID])

但是“Select *”并不是检查记录是否存在的好方法。您可以使用“EXISTS”子句

关于sql - 非聚集索引包含的列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6197979/

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