0

我有一个Full Text Catalog单表,定义了三个字段:-

TABLE: Animals
Fields: Name, Breed, LatinName.

现在,目录似乎运行良好。

例如。

CREATE FUNCTION AnimalSearch
(
    @Name NVARCHAR(200)
) RETURNS TABLE AS
RETURN 
(
    SELECT KEY_TBL.[Key] as Name,
        KEY_TBL.RANK as Relevance
    FROM CONTAINSTABLE(Animals, Name, @Name) AS KEY_TBL
)

现在,当我运行它时,我得到以下结果:- Name = ma(无结果) Name = mat(无结果) Name = matt(1 个结果 - 正确)。

SELECT * FROM [dbo].[AnimalSearch]('ma')

这是使用它的正确方法吗?我也试过用CONTAINSTABLE..FREETEXTTABLE同样的东西代替..没有结果。

任何想法,任何人?

编辑

我知道这可以在存储过程中实现。我希望将其作为表值函数来执行,因此我可以在某些 Linq2Sql 中使用它。如果它真的表现不佳,那么请说出来。

4

1 回答 1

1

不确定这是个好主意。表值函数不存储统计信息,因此性能可能会受到影响。

于 2009-04-21T13:01:51.267 回答