是否可以在 SQL Server 2016 中使用函数或分析函数在列上创建索引



我可以在具有函数或分析函数的列上创建索引吗?

我有一个表ABC列XXX更新日期时间,YYY更新用户名。我正在尝试创建如下所示的索引

CREATE INDEX idx_Cname1
ON ABC(UPPER(updatedusername));
CREATE INDEX idx_Cdate1
ON ABC(YEAR(updateddatetime));

我只是收到一个错误

"("附近的语法不正确

是否可以如上所示创建索引。另外,我可以在具有 LEAD、LAG 等分析函数的列上创建索引吗?

提前感谢!

指定表中的计算列

创建计算列

ALTER TABLE [t] ADD Cname1 AS ABC(UPPER(updatedusername))
ALTER TABLE [t] ADD Cdate1 AS ABC(YEAR(updateddatetime))

添加持久没有区别,索引仍然具体化字段

创建索引后

CREATE INDEX idx_Cname1
ON [T] (Cname1);
CREATE INDEX idx_Cdate1
ON [T] (Cdate1);

相关内容

  • 没有找到相关文章

最新更新