2015-09-06 115 views
0

搜索我已经收窄查询到这一点:如何加快T-SQL就像有两个为nvarchar(最大)列

select * FROM items where accountid=4755 and (itemId like N'%9976%' or [description] like N'%9976%' or fulldescription like N'%9976%') 

两个“说明”和“FullDescription”已经从nvarchar的缩小( max)到nvarchar(4000)。

似乎仍然不能建立索引,因为它太大(不能再低)。另外,如果我删除'描述'或'完整描述',它的工作速度很快,所以缓慢是复合效应。此外,没有LIKE条件的查询在相对较小的数据库中仅包含1,000行。

+1

你是否像这样搜索:WHERE col LIKE'%phrase%'? – lad2025

+0

我刚刚添加了代码快照 – Josh

+7

使用全文搜索 – lad2025

回答

0

我们的确得到了类似于Amir在这里所建议的东西。由于98%的数据非常短,我们创建了另外两列满足900字节限制的列nvarchar(450),然后为它们创建索引。

我们在Azure上托管,时间紧迫,所以我们没有查看自由文本搜索。我们也遇到了Azure Search服务,可能适合这一点,但这需要耗时的POC。

谢谢大家。

相关问题