首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >限制CONTAINSTABLE搜索以避免搜索整个表

限制CONTAINSTABLE搜索以避免搜索整个表
EN

Stack Overflow用户
提问于 2012-11-15 03:37:22
回答 1查看 189关注 0票数 1

您好,我正在使用CONTAINSTABLE对表中的一列进行搜索。问题出在性能上。这是我的问题:

代码语言:javascript
复制
SELECT count(*) 
FROM dbo.Document d
INNER JOIN dbo.DocuemntVehicleXRef vx ON (vx.DocuemntID = d.DocumentID)
INNER JOIN CONTAINSTABLE (Document , QueryContent , @searchterm ) ftt ON ( d.DocumentID = ftt.[Key] )  
WHERE vx.VehicleId = @vehicleId

所以为了提高性能(因为文档表很大)。我需要做CONTAINSTABLE函数,而不是遍历所有的dbo.Docuemnt表,只遍历绑定到VehicleId的文档(因为其余的搜索是不必要的)有没有解决办法或方法来做到这一点?谢谢

EN

回答 1

Stack Overflow用户

发布于 2012-12-05 13:16:02

一种方法是创建多个索引视图,每个视图返回文档的一个子集。每个视图都有自己的ft索引,您可以管理查询逻辑,以便仅从相关视图中进行选择。如果您的表很容易拆分成常用的块,例如分层的类别结构,那么这种方法效果很好。

另一种方法是通过附加唯一键来“清理”索引文本。例如,"VEHICLEID001“,那么除了其他关键字之外,您还可以搜索"VEHICLEID001”。微软不赞成这种做法,认为这是一种反实践,但确实奏效了。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13386046

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档