1
您好我正在使用CONTAINSTABLE在表的一列进行搜索。 问题在于性能。 这是我的查询:限制一个CONTAINSTABLE搜索,以避免搜索整个表
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绑定的文档(因为其余搜索是不必要的) 有没有解决方法或方法来做到这一点? 谢谢
对这个老问题的复兴感到抱歉,但是你有这样一个反对的来源吗?我从2007年发现了这篇文章,建议使用嵌入式过滤器:https://technet.microsoft.com/en-gb/library/cc917695.aspx#Embedding_Filter – EventHorizon
https://msdn.microsoft.com/en-us/library/ cc721269.aspx#_Toc202506250在性能改进部分。 “在SQL Server 2000和2005中,对于某些场景(关系基数远低于全文场景)的有效解决方法是将关系列的内容推送到全文索引中......” – StrayCatDBA