我有以下SQL查询:
SELECT TOP 200 * FROM article WITH (nolock)
WHERE CONTAINS(*,'"ram*" and "1*"')
ORDER BY article_number
我在10分钟内没有收到任何结果。如果我在几分钟后停止查询,那么它会返回一些记录。
在article
表中有10,000条记录。全文目录位于article
4-5个字段,因此它只包含1个表。
如果我不写ORDER BY
或TOP 200
子句,则会立即返回正确答案。
文章表在INDEX (Unique, clustered)
上有Article_number
。
我认为这是一个MS-SQL 2008错误。
SQL 2008 SP1上也存在此问题。
我真的不明白这个问题,请帮帮忙。
答案 0 :(得分:1)
我认为您不能使用长度小于3个字符的字词进行搜索。作为测试,尝试搜索其他内容,例如:
select top 200 * from article with (nolock) WHERE contains(,'"ram" and "king*"') order by article_number
答案 1 :(得分:0)
Order by使查询变慢。 article_number有索引吗?尝试创建索引。