2

検索をテーブル内の特定の行に制限する方法はありますか。

例えば:

大きなテーブルで、特定の会社 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 でフィルター処理されると思います

検索前に行数を制限する方法を探しています

ありがとう。

4

1 に答える 1

0

このようなものはどのように動作しますか?

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

クエリプランとパフォーマンスを確認する必要がありますが、これで少なくともあなたが求めることはできると思います。

于 2012-09-13T07:42:50.010 に答える