commit_count - コミット・カウント構成パラメーター
このパラメーターは、コミットを発行する前に、1 つのトランザクションで各フラッシャーが書き込む行の数を指定します。
- 構成タイプ
- INGEST ユーティリティー
- 適用
- INGEST ユーティリティー
- パラメーター・タイプ
- 構成可能
- デフォルト [範囲]
- 0 [0 から最大 32 ビット符号付き整数]
commit_count が 1,000 の倍数でない場合、その値は最も近い倍数に丸められ、INGEST ユーティリティーによって警告 (SQL2903W) が発行されます。
commit_count を 0 (デフォルト) に設定する場合、commit_period が使用されます。これは、デフォルトで INGEST ユーティリティーが経過時間だけに基づいてトランザクションをコミットすることを意味します。 行の数だけに基づいてトランザクションをコミットする場合は、commit_count をゼロ以外の値に設定し、commit_period を 0 に設定する必要があります。
commit_count と commit_period のどちらも指定しない場合、commit_period のデフォルト設定である 1 秒が使用されます。
commit_count と commit_period の両方を指定する場合、INGEST ユーティリティーは両方に従います。つまり、指定した数の行を書き込んだとき、または指定した秒数内にコミットが発行されなかった場合に、INGEST ユーティリティーはコミットを発行します。
- 推奨事項
- 行サイズが小さい場合、commit_count を大きな値に設定してください。 行サイズが大きい場合、commit_count を小さな値に設定してください。他のアプリケーションが実行されていない場合、以下の公式を使って、絶対最大コミット・カウントを非常に大まかに見積もることができます。
他のアプリケーションが実行されている場合、最大コミット・カウントは少なくなります。(logfilsiz * (logprimary + logsecond) * 4KB) divided by (estimated row size + overhead) divided by (total number of flushers)
commit_count に設定する値が大きすぎる場合、ロック・リストまたはトランザクション・ログが満杯になる可能性があります。 その場合、INGEST コマンドは、エラー SQL0912N または SQL0964C で終了します。 SQL0912N または SQL0964C を受け取り、 retry_count 構成パラメーターが設定されている場合、INGEST ユーティリティーは以下の両方を実行します。
- commit_count または commit_period のいずれかまたは両方の設定を調整するか、警告メッセージを発行します
- コミットを発行し、操作を再試行します