Tips

REPLICATEの途中経過を知ることはできない

日付2011/07/01
ID76355 (英語原文参照)
バージョンv12
プラットフォームMac/Win

SQLによる複製は, データベースエンジンの深い階層で実行されるため, その途中経過をランゲージで取得する術がありません。たとえば, Records in selectionは, 複製中に呼び出したとしても, 複製を開始する直前あるいは複製を完了した直後のいずれかのレコード数を返し, 複製中に値が変動することはありません。

そのような理由により, 複製の過程をプログレスバー(進捗インジケーター)で表現するのは実際的ではありません。むしろ, サーモメーター(バーバーショップ)で対応したほうが良いでしょう。

いずれにしても, 複製はできるだけ短い間隔で実行し, あまりユーザーに待機を強いることがないように配慮する必要があります。複製は非常にローレベルな操作であるため, 複製中はほとんどのデータアクセスがロックされています。更新の数が少なければ, 複製はすぐに完了するので, できるだけ頻繁に実行するようにしてください。