一尘不染

在部分CHAR列上创建索引

sql

我有一个CHAR(250)列用作varchar(24)列的外键。

在MySQL中,我记得我可以创建一个指定column(24)的索引,以便在最左边的24个字符上创建索引。在MS SQL Server上似乎无法实现。

我的问题是这样的:

是否可以在SQL Server 2008上使用索引视图为该列的子字符串建立索引,如果是,则它会对表的性能产生任何副作用吗?


阅读 218

收藏
2021-03-08

共1个答案

一尘不染

您可以创建一个持久化的计算列,然后对其进行索引,请参阅在计算列上创建索引

alter table add newcolumn as cast(oldcolumn as varchar(24)) persisted;
create index table_newcolumn on table (newcolumn);
2021-03-08