我们需要调用外部Web服务来获取某些数据并将其存储在本地表中。这个过程需要每10分钟重复一次,因为外部Web服务发布的数据变化很快。作为其中的一部分,我们需要清除整个表并重新插入由Web服务发布的当前数据。在截断/刷新之间读取数据库表时出现问题
我们遇到的棘手的情况是:什么在表截断时用户查询表并没有结果?这导致无效的结果显示给用户。
任何人都可以请给我一个建议吗?
我们需要调用外部Web服务来获取某些数据并将其存储在本地表中。这个过程需要每10分钟重复一次,因为外部Web服务发布的数据变化很快。作为其中的一部分,我们需要清除整个表并重新插入由Web服务发布的当前数据。在截断/刷新之间读取数据库表时出现问题
我们遇到的棘手的情况是:什么在表截断时用户查询表并没有结果?这导致无效的结果显示给用户。
任何人都可以请给我一个建议吗?
围绕两个操作使用事务。像这样的东西。
Begin transaction;
truncate table
populate the new table
end transaction
快照隔离保证您看到的数据将保持一致。
如果你能创造超过你的表视图,那么您可以将数据加载到新表,但需要长时间你需要来填充它,然后只需改变引用新表视图。