【问题标题】:Fast performance when searching for strings in a 100 million record database在 1 亿条记录的数据库中搜索字符串时的快速性能
【发布时间】:2013-08-01 05:25:08
【问题描述】:

是否有可能在几秒钟内得到结果?我正在使用 SQL 服务器并且有一个包含数百万条记录的大表。我希望在名为关键字的字段上进行搜索,但是在使用全文时执行 FREETEXT 甚至 CONTAINS 搜索非常慢(10 秒)。有没有什么快速的方法可以在这种规模上以快速有效的方式使用子字符串快速查找单词(即输入“bolt”和“thunderbolt”)?

谢谢 托马斯

【问题讨论】:

    标签: sql-server database database-design full-text-search freetext


    【解决方案1】:

    为您执行类似搜索的列keyword 创建一个non-clustered index

    CREATE NONCLUSTERED INDEX IX_keyword
        ON table (keyword); 
    GO
    

    More

    【讨论】:

    • 我已经这样做了,几十万客户还可以,但是之后太慢了
    • SQL Server 不是为提供如此高的全文搜索性能而设计的。为了实现您的目标,您可能需要考虑开源解决方案,例如 Lucene 或其他专有解决方案。
    猜你喜欢
    • 2011-12-13
    • 2017-08-12
    • 1970-01-01
    • 2018-09-26
    • 2013-01-06
    • 2013-01-20
    • 2019-02-26
    • 2011-03-01
    • 2011-09-06
    相关资源
    最近更新 更多