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