繁体   English   中英

MSSQL全文搜索-仅搜索部分表行

[英]MSSQL Full Text search - Search only part of table rows

有没有一种方法可以将搜索限制到表中的特定行。

例如:

在一个大表上,我只想搜索具有特定公司ID的行:

select *
from Actions
where Company_ID=1253
and  CONTAINS(ItemDesc, 'ABC')


SELECT
    AC.*,    
    col1.RANK
FROM Actions AC
INNER JOIN CONTAINSTABLE(Actions, ItemDesc, 'ABC',50) as col1  
    on col1.[KEY] = AC.ActionId
where Company_ID=1253

我尝试了两个示例,我认为搜索首先在所有表行上运行,然后按Company_ID进行过滤

我正在寻找一种限制搜索前行数的方法

谢谢。

这样的事情表现如何?

SELECT *
FROM
(
    SELECT *
    FROM Actions
    WHERE Company_ID = 1253
) AS CompanyFilteredActions
WHERE CONTAINS(ItemDesc, 'ABC')

您需要查看查询计划和性能,但是我认为这至少可以满足您的要求。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM