`
txf2004
  • 浏览: 6868639 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

SQL Tips:兼顾检索速度和精确性

阅读更多

即使是SQL Server 2000,全文检索的功能已经能够满足基本需要,有迹象表明在设置相关字段为全文索引的时候,即使是使用这个字段进行like操作,速度也会较没有全文索引快很多。不过既然建立全文索引了,大部分人肯定还是使用CONTAINS来进行操作了,这种速度肯定比like操作更快。一般格式是:

select[想要的字段名] from [表] whereCONTAINS(查询字段名, '[查询词]')

最近碰到一个问题,需要精确查询某个关键词所在的位置,比如开头处、结尾处出现固定的串。而在使用CONTAINS的时候,SQL其实已经进行了分词,查询的结果没法限定为固定的位置,更不知道如何限定SQL不进行分词(即精确查询而非模糊查询)。怎么办呢?

想了一个笨方法,速度还是很快,比如搜索以查询词结尾为条件的语句可以为:

select[想要的字段名] from [表]
whereCONTAINS(查询字段名, '[查询词]') and [查询字段名] like '%[查询词]'

这多出的一个条件用于确定搜索的精确性。我相信这不是最好的解决方案,抛砖引玉,欢迎大家讨论。

Other Tips:

大数据量下的数据库日期操作问题

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics