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
- Configurable
- 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.
- Recommendations
- 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:
If other applications are running, the maximum commit count is smaller.(logfilsiz * (logprimary + logsecond) * 4KB) divided by (estimated row size + overhead) divided by (total number of flushers)
- adjusts the setting of either commit_count or commit_period, or both and issues a warning message
- issues a commit and retries the operation