全文搜索在SQL Server中架构传输后立即返回不同的结果计数

问题描述

我们的sql Server数据库中有两个相同的表(staging.Table1production.Table1)。两者具有相同的名称,索引和约束,包括Search列的全文本索引。

这个想法是用一个工作来填充临时表,一旦表被填充,就使用SCHEMA TRANSFER将临时表转移到生产表。临时表包含大约300万条记录。

到目前为止,一切都还不错,但是在完成工作之后,即完成模式传输后,如果在生产表上多次执行全文搜索,则返回的结果数将有所不同。每次递增结果,直到所有匹配的记录被加载。

首次运行

SELECT COUNT(*) FROM production.Table1     
--> 3000000 records

SELECT * FROM production.Table1 
WHERE CONTAINS(Search,'"XYZ"')     

-> 3000 records

第二次运行

SELECT COUNT(*) FROM production.Table1     
--> 3000000 records

SELECT * FROM production.Table1 
WHERE CONTAINS(Search,'"XYZ"')     
-> 5000 records

符合条件的实际结果数为5000。

任何人都可以解释为什么每次生成全文表时都会返回增量结果,因为生产表在模式传输后已经具有所有记录了。有没有更好的方法将登台表切换到生产表,并且可以在没有任何延迟的情况下搜索全文?

PS:Partition switching was not possible as the table contains full-text index.

谢谢

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)