我有一张名为
为了提高性能,我想要添加一个计算列
当我使用时,
Com_Main
的表格,其中包含一个CompanyName nvarchar(250)
的列。它的平均长度为19,最大长度为250。为了提高性能,我想要添加一个计算列
left20_CompanyName
,它保存了CompanyName
的前20个字符:alter table Com_main
add left20_CompanyName as LEFT(CompanyName, 20) PERSISTED
然后我在这一列上创建索引:
create index ix_com_main_left20CompanyName
on Com_main (LEFT20_CompanyName)
当我使用时,
select CompanyName from Com_Main
where LEFT20_CompanyName LIKE '122%'
它使用这个非聚集索引,但当查询如下:
select CompanyName from Com_Main
where CompanyName LIKE '122%'
它使用全表扫描,不使用这个索引。
所以问题是:
是否可能让SQL Server在最后一个查询中使用这个计算列上的索引?