我在 VARBINARY(200) 列上有一个索引。如何进行利用该索引的前缀查询?
我尝试了WHERE LEFT(column, 20) = @value
,但这并没有利用索引。
我使用的是 SQL Server 2014。
最佳答案
一种方法可能会使用 Between
。像这样的事情:
where column >= left(val, 20) and column < left(val, 20) + ???
我不确定到底是什么???应该是。
也许更好的方法是使用计算列,但这假设您始终在寻找 20 个字节:
alter table t add column_20 as (cast(column as varbinary(20));
create index idx_t_column20 on t(column_20);
那么相等应该使用索引:
where column_20 = @value
关于sql - 利用索引对 VARBINARY 进行前缀查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34265394/