gpt4 book ai didi

sql-server - 添加大量记录后 SQL Server FTS 性能

转载 作者:行者123 更新时间:2023-12-03 01:13:54 25 4
gpt4 key购买 nike

我们有一个网络应用程序,允许客户管理大量姓名列表。为了在这些列表上进行搜索,我们使用 SQL Server 2008 的 FTS,它通常运行良好。我们最大的客户拥有 900,000 个姓名,并且搜索时间在亚秒级。

然而,对于另一个新客户端,我最近导入了 150,000 个名称,并且性能非常糟糕(例如,服务器性能非常糟糕)。我检查了全文索引器,它声称最近完成了一次爬网。

查看执行计划,我注意到在快速情况下(对于较大的客户端),SQL Server 首先执行 FTS,然后对结果执行索引查找。对于较新的客户端,它首先执行索引查找(显然,对于新记录,执行 150,000 次),然后执行 FTS。

所以我尝试了WITH(INDEX(MyFullTextIndex))提示,但是SQL Server说索引不存在。显然它并不认为这些 FTS 索引是“真正的”索引。如何强制 SQL Server 始终首先使用 FTS?

更新:我尝试重新生成统计信息,但无济于事。同样的性能问题。

以下是执行计划:

快速性能: http://frameaction.com/LLExecutionPlan01.sqlplan

性能缓慢: http://frameaction.com/LLExecutionPlan18.sqlplan

最佳答案

我尝试在查询末尾添加“OPTIMIZE VALUE FOR UNKNOWN”提示(我还必须向查询添加一个虚拟变量,以便在提示中引用一些内容)。到目前为止,它似乎运行良好。我对添加提示有点紧张,因此仍在寻找更好的解决方案,但目前这是有效的。

关于sql-server - 添加大量记录后 SQL Server FTS 性能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/484821/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com