1

我有一个存在于第三方的数据库的“日志传送”副本。日志传送每 15 分钟运行一次,此时与数据库的所有连接都将被删除。该数据库用于报告目的。

我决定将日志传送(只读)数据库中的一些数据提取到每晚刷新的新数据库中。这将允许用户连接到新数据库,而不会因日志传送而失去连接的风险。(它还允许使用更精细的安全权限,因为只读副本无法编辑)

我可以想到 2 种模式来实现这一点。

  1. 删除表、创建表、创建索引
  2. 使用 MERGE 语句插入/更新/删除记录

我已经使用上面的方法 1 实现了解决方案,并且效果很好。

每天丢弃所有数据对我来说有点沉重。上面的方法 1 是否有任何副作用,应该促使我使用方法 2?

为了提供规模感,我只同步 3 个表,

Table 1 - 38 columns - 13,110 rows
Table 2 - 82 columns - 17,421 rows
Table 3 - 22 columns - 249 rows

生成的数据库约为 1.3 GB。(里面还有一些其他的桌子)

我会很感激关于方法 1 和 2 的指导,以及是否还有其他我没有考虑的方法。

4

1 回答 1

3

TRUNCATE并且INSERT比删除或合并更有效。

于 2015-04-14T16:38:22.153 回答