忘れないためのメモとして。
大まかに言えば二通りに分かれるみたい。
一つ目はこれ。
SELECT *
FROM
TEST_FULLTEXT TFT
WHERE
CONTAINS(TESTSTRING,'"10*"')
二つ目がこれ。
SELECT *
FROM
TEST_FULLTEXT TFT
INNER JOIN CONTAINSTABLE(TEST_FULLTEXT, TESTSTRING,'"10*"') KFT
ON (TFT.TESTUID = KFT.[KEY])
ORDER BY
KFT.RANKDESC;
二つの違いは「検索結果のランクを利用するかしないか」。上が利用しない純粋な検索で、下がランクを利用した、どちらかというとGoogle先生っぽいやりかた。
恐らく今回は二つ目のやりかたになるだろうなぁ。
しかし試しに100万件のテストデータつくって検索してみたけど、LIKE検索よりも10数%は高速っぽい。
0 件のコメント:
コメントを投稿