SQL Server データベースには、多くの INNER JOIN ステートメントを含むビューがあります。最後の結合は LIKE 述語を使用しているため、動作が遅すぎます。クエリは次のようになります。
SELECT *
FROM A INNER JOIN
B ON A.ID = B.ID INNER JOIN
C ON C.ID1 = B.ID1 INNER JOIN
...........................
X ON X.Name LIKE '%' + W.Name + '%' AND
LIKE '%' + W.Name2 + '%' AND
LIKE '%' + W.Name3 + '%'
LIKE の代わりに CONTAINS を次のように使用したい:
SELECT *
FROM A INNER JOIN
B ON A.ID = B.ID INNER JOIN
C ON C.ID1 = B.ID1 INNER JOIN
...........................
X ON CONTAINS(X.Name, W.Name) AND
CONTAINS(X.Name, W.Name2) AND
CONTAINS(X.Name, W.Name3)
CONTAINS は LIKE よりも高速に動作し、JOIN ステートメントで CONTAINS を使用できないことも知っています。この場合の回避策や提案はありますか? 前もって感謝します。