我有一个 asp.net 网站,其中有许多针对我的数据库运行的插入、更新和删除查询。
几天前,我在其中一个表的两列上创建了一个全文索引。之后我意识到当网站在该表上运行更新查询时,SQL Server 进程的内存和磁盘使用量正在跳跃并且更新速度较慢。在创建全文索引之前,查询运行没有任何性能问题。
我也意识到以前非常简单的更新查询现在变得复杂了,因为执行计划现在有诸如全文索引更新之类的东西。这是启用全文后变得复杂的新执行计划的一部分:
在我更新站点内容的几个小时内,我运行了 5000 个更新查询,我认为每次都为每一行完成全文索引过程。
我应该在更新行开始时禁用全文扫描,然后重新启用它(如在这个相关问题中)?
我可以告诉 SQL Server 停止全文索引 5 分钟,然后开始索引新数据吗?
有没有更好的选择?我正在使用 SQL Server 2012。
performance sql-server full-text-search sql-server-2012 query-performance