我正在查询一个表(大约150,000行并且正在增长),其中包含一个无法索引的大varchar字段(大小为2000)(即使它可能也没有意义)。我正在使用Sql Server 2008。 我到现在使用的查询是:
从tbl_name中选择* 其中field_name类似'%bla bla%'
(“bla bla”取决于用户搜索的内容)
为了提高性能,我想开始使用全文搜索功能(已经在此字段中定义了目录和文本索引)。 我对使用此选项查询的内容感到有点困惑。 我应该使用什么查询来获得与之前使用的查询完全相同的结果?
谢谢! 叶兰。
答案 0 :(得分:2)
CONTAINS()
将为您提供您正在寻找的LIKE()功能,但有一个例外 - 我在评论中注意到您还希望匹配第二个条目 - “hhhEranttt”。不幸的是,由于缺乏后缀搜索,目前这是不可能的。
对于其他条目,您可以运行前缀搜索 - CONTAINS(field_name, '"eran*"')
,它匹配所有其他条目,因为全文搜索不区分大小写。
HTH。