1
我正在使用SQL Server 2012標準,並且我在查詢中使用CONTAINS
子句時出現了一些問題。SQL Server 2012性能問題使用FULLTEXT
我的查詢:
select *
from
calles as c
INNER JOIN
colonias as col ON c.ID_Colonia = col.ID_Colonia
where
CONTAINS(c.Nombre,@Busqueda) OR CONTAINS(col.Nombre,@Busqueda)
如果我只用一個包含搜索的時間約爲200毫秒,但如果我同時使用它是10s左右(這是一個很大的時間)。我嘗試一種解決方法去做使用UNION
這樣的:
select *
from
calles as c
INNER JOIN
colonias as col ON c.ID_Colonia = col.ID_Colonia
where
CONTAINS(c.Nombre,@Busqueda)
UNION
select *
from
calles as c
INNER JOIN
colonias as col ON c.ID_Colonia = col.ID_Colonia
where
CONTAINS(col.Nombre,@Busqueda)
和查詢時間爲200ms左右一次。但我認爲第二個代碼很笨拙。我有一些錯誤嗎?
這聽起來更像是使用'Or'而不是'Contains'的問題。你看過這兩個查詢計劃嗎? – Siyual