配列での同様のSQL文の適用

BATCHSQLパラメータでは、Replicatのパフォーマンスを向上させます。BATCHSQLを使用すると、Replicatは同様のSQL文を配列にまとめてより高速に適用します。標準モードでは、Replicatは1回に1つのSQL文を適用します。

ReplicatがBATCHSQLモードの場合、小さな行の変更は大きな行の変更よりも高いパフォーマンスの向上を示します。行変更当たりのデータ量が100バイトの場合、BATCHSQLを使用することによってReplicatのパフォーマンスが最大で300%向上することがわかっていますが、実際のパフォーマンス向上は、混在する操作に応じて異なります。行変更当たりのデータ量が約5,000バイトの場合、BATCHSQLを使用するメリットは低下します。

SQL文をバッチにまとめると、効率性は向上しますが、メモリーも消費します。最適なパフォーマンスを維持するために、次のBATCHSQLオプションを使用してください。

BATCHESPERQUEUE 
BYTESPERQUEUE 
OPSPERBATCH 
OPSPERQUEUE 

値を設定するベンチマークとして、それぞれ500バイトの1,000のSQL文をまとめた1つのバッチが必要とするメモリーは10MB未満であると想定してください。

BATCHSQLBATCHTRANSOPSオプションとともに使用して、配列のサイズを調整できます。BATCHTRANSOPSは、コミットが必要になる前に1つのトランザクションにグループ化可能な最大バッチ操作数を制御します。非統合Replicatのデフォルトは1000です。統合Replicatのデフォルトは50です。統合Replicatを使用する際に多くの待機依存性がある場合、BATCHTRANSOPSの値を減らしてみてください。待機依存性の数を確認するには、OracleデータベースのV$GG_APPLY_COORDINATORデータベース・ビューのTOTAL_WAIT_DEPS列を表示します。

追加の使用方法の考慮事項および構文は、『Oracle GoldenGateリファレンス』を参照してください。