commit_count - Commit count configuration parameter

This parameter specifies the number of rows each flusher writes in a single transaction before issuing a commit.

Configuration type
Ingest utility
Applies to
Ingest utility
Parameter type
Default [range]
0 [0 to max 32-bit signed integer]

If commit_count is not a multiple of 1,000, it is rounded to the nearest multiple and the ingest utility issues a warning (SQL2903W).

When commit_count is set to 0 (the default), commit_period is used, meaning that by default, the ingest utility commits transactions based on elapsed time only. If you want to commit transactions based on the number of rows only, you must set commit_count to a non-zero value and set commit_period to 0.

When neither commit_count nor commit_period is specified, the commit_period default setting of 1 second is used.

If both commit_count and commit_period are specified, the ingest utility honors both; that is, it issues a commit when it has written the specified number of rows or if there has not been a commit within the specified number of seconds.

If the row size is small, set commit_count to a large value. If the row size is large, set commit_count to a small value.
If no other applications are running, the absolute maximum commit count can be estimated very roughly using the following formula:
(logfilsiz * (logprimary + logsecond) * 4KB) divided by (estimated row size + overhead) 
   divided by (total number of flushers)
If other applications are running, the maximum commit count is smaller.
If commit_count is set to too large a value, it is likely the lock list or the transaction log will fill up. In that case, the INGEST command terminates with error SQL0912N or SQL0964C. If you get SQL0912N or SQL0964C and you have the retry_count configuration parameter set, the ingest utility does both of the following
  • adjusts the setting of either commit_count or commit_period, or both and issues a warning message
  • issues a commit and retries the operation