在部分CHAR列上创建索引

Kev*_*ker 3 sql t-sql sql-server-2008 query-tuning

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

在MySQL中我记得我可以创建一个指定列(24)的索引,以便在最左边的24个字符上创建索引.这似乎不可能在MS SQL Server上.

我的问题是:

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

Rem*_*anu 7

您可以创建一个持久计算列,然后将其编入索引,请参阅在计算列上创建索引

alter table add newcolumn as cast(oldcolumn as varchar(24)) persisted;
create index table_newcolumn on table (newcolumn);
Run Code Online (Sandbox Code Playgroud)