【问题标题】:Searching fast in select from a varchar field从 varchar 字段中快速搜索
【发布时间】:2015-02-02 11:55:41
【问题描述】:

我有一个包含数千条记录的数据库。每条记录都有一个名为“_Text”的字段,其中包含从网页获取的 HTML 代码。

字段类型为 nvarchar(max)。

我的问题是使用“喜欢”在此表中搜索一个单词,因为该字段有很多单词,因此需要很长时间才能响应。

如何在“_text”字段中进行快速搜索??

【问题讨论】:

  • 检查您的 RDBMS 是否支持某种full text search。如果没有,您可能需要从表中的记录中构建自己的单个单词索引,以优化单个单词搜索。

标签: database select full-text-search nvarchar


【解决方案1】:

数千条记录似乎并不多。想法:

  1. 您可以为要搜索的字段创建索引

  2. 您可以使用全文搜索功能

  3. 您可以使用工具,例如 nginx 或 elasticsearch

  4. 如果您有一组预定义的单词可能会出现在您的 like 参数中,那么您可以创建一个包含关键字的关键字字段

  5. 查看您生成的查询。是最优的吗?

【讨论】:

  • 我不使用sqlserver,所以我必须通过代码或设计表来完成。
  • 你能帮我解释更多吗?
  • 不是你没有给我们任何细节,你只是描述了问题的本质。我已经回答了解决方案的本质。但是,通过在谷歌上搜索,您应该能够从这里解决您的问题。
  • 解决方案 1 和 4 可能是我的答案。
  • 我没有什么特别的问题。我曾经使用 'Like'%%' 在 DB 中搜索,而且速度很慢。感谢您的最佳回复。
猜你喜欢
  • 2021-02-10
  • 2013-01-20
  • 2017-11-11
  • 2017-01-25
  • 2013-01-06
  • 1970-01-01
  • 2017-08-31
  • 2011-03-01
  • 1970-01-01
相关资源
最近更新 更多