在 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 + '%'
我想使用 CONTAINS 而不是 LIKE 作为:
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。在这种情况下是否有任何解决方法或建议?提前致谢。