最新帖子 精华区 社区服务 会员列表 统计排行
主题 : SQL Tips兼顾检索速度和精确性
ceshi123 离线
级别: 管理员
宣传大使奖 特殊贡献奖 灌水天才奖
显示用户信息 
0  发表于: 2009-05-21 23:54

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

购买流程:注册论坛账号------->在线充值购买论坛交易币------->下载毕业设计将直接扣除交易币
即使是SQL Server 2000,全文检索的功能已经能够满足基本需要,有迹象表明在设置相关字段为全文索引的时候,即使是使用这个字段进行like操作,速度也会较没有全文索引快很多。不过既然建立全文索引了,大部分人肯定还是使用CONTAINS来进行操作了,这种速度肯定比like操作更快。一般格式是:
select [想要的字段名] from [表] where CONTAINS(查询字段名, '[查询词]')
最近碰到一个问题,需要精确查询某个关键词所在的位置,比如开头处、结尾处出现固定的串。而在使用CONTAINS的时候,SQL其实已经进行了分词,查询的结果没法限定为固定的位置,更不知道如何限定SQL不进行分词(即精确查询而非模糊查询)。怎么办呢?
想了一个笨方法,速度还是很快,比如搜索以查询词结尾为条件的语句可以为:
select [想要的字段名] from [表]
where CONTAINS(查询字段名, '[查询词]') and [查询字段名] like '%[查询词]'
这多出的一个条件用于确定搜索的精确性。我相信这不是最好的解决方案,抛砖引玉,欢迎大家讨论。


快速回复 顶端
内容
HTML 代码不可用
使用签名
Wind Code自动转换

验证问题:本站域名是什么?答案:cccbbs.net  正确答案:cccbbs.net
按"Ctrl+Enter"直接提交