我有一个包含多个列的数据库表;其中大多数是VARCHAR(x)类型的列,其中一些列有一个索引,以便我可以快速搜索其中的数据.
但是,其中一列是TEXT列,因为它包含非常大量的数据(23 kb的普通ascii文本等).我希望能够在该列中搜索(… WHERE col1 LIKE’%search string%’…),但目前正在执行查询.我知道由于这个列搜索,查询很慢,因为当我从WHERE子句中删除该条件时,查询就会立即完成(我会考虑).
我无法在此列上添加索引,因为该选项在SQL Server Management Studio的索引构建器/向导中对该列显示为灰色.
我有什么选择,加快该列中的查询搜索?
谢谢你的时间…
更新
好的,所以我查看了全文搜索并完成了所有这些工作,现在我想运行查询.但是,当使用“包含”时,它只接受一个单词;如果我需要一个确切的短语怎么办? … WHERE CONTAINS(col1,’搜索短语’)…抛出错误.
对不起,我是SQL Server的新手
更新2
对不起,刚想通了;使用多个“包含”子句而不是一个包含多个单词的子句.实际上,这仍然没有得到我想要的(确切的短语)它只确保短语中的所有单词都存在.
解决方法
搜索TEXT字段总是很慢.试试
Full Text Search,看看它是否适合你.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。