SQL 2008使用ORDER BY和TOP子句进行全文搜索,并且没有来自服务器的答案

时间:2009-04-27 21:06:36

标签: sql-server sql-server-2008 full-text-search

我有以下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 BYTOP 200子句,则会立即返回正确答案。

文章表在INDEX (Unique, clustered)上有Article_number

我认为这是一个MS-SQL 2008错误。

SQL 2008 SP1上也存在此问题。

我真的不明白这个问题,请帮帮忙。

2 个答案:

答案 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有索引吗?尝试创建索引。