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

TRUNCATEINSERTドロップまたはマージよりも効率的です。

于 2015-04-14T16:38:22.153 に答える