mg1*_*075 5 sql-server-2008 best-practices full-text-search
我使用的是 SQL Server 2008,有一个用于报告目的的表,其中包含 500,000 条记录,这些记录很容易达到数百万条。该表将采用全文索引来快速搜索少数列。
由于这是报告表而不是源事务表,因此有时会添加新记录,而有时由于源表中发生的更改而必须删除现有记录。
我的问题是关于构建(正在进行的)报告表并维护该表的全文索引的最佳方法。
添加全文索引后,我应该:
到目前为止,我在研究时已经看到了这些文章,但这种情况的最佳实践并不明显。
SQL Server 中的全文应该可以轻松满足您的工作负载。我目前在 SQL Sever 中支持大约 500,000 行的全文索引,每天插入和删除 125,000 行。查询负载峰值约为 200 次全文搜索/秒。响应时间相当稳定在 0.5 至 1.5 秒范围内。
全文推荐
使用自动更改跟踪。它就可以正常工作,您无需安排任何事情。
为全文填充错误创建 SQL 代理警报。群体可能会失败(很少会失败)。当它们失败时,您必须手动恢复它们。让 sql 代理作业启动“ALTER FULLTEXT INDEX ON myTable RESUME POPULATION”使其成为非事件。
如果您的查询负载和更新量都非常高,请考虑跟踪标志 7646。此标志适用于 2008/2008 R2(不适用于 2012)。它减少了对内部数据结构的一些阻塞,并记录在 SharePoint 最佳实践文档中。(你可能不需要这个)
否则,您可能不需要进行任何额外的调整。它通常可以正常工作。
Sql 2012 在可扩展性和性能方面引入了重大改进,因此如果可以的话请升级。
至于如何管理插入和更新,只需更新通常添加的行即可。我不建议截断/重新加载,但否则不用担心。
归档时间: |
|
查看次数: |
3959 次 |
最近记录: |