Browse DevX
Sign up for e-mail newsletters from DevX

Tip of the Day
Language: SQL Server
Expertise: Beginner
Feb 27, 1997



Building the Right Environment to Support AI, Machine Learning and Deep Learning

Grouping Multiple Commits

I've heard about a configuration keyword for SQLBase that groups multiple COMMITs together. Does this keyword exist, and under what conditions would it be useful?

Yes. The keyword "groupcommit" is a SQLBase configuration keyword that controls how many COMMITs are bundled together before writing them to disk. The ability to specify groupcommit first became available in SQLBase 5.1.4 and was designed to increase transaction throughput on systems with many active client applications.

The first characteristic to keep in mind with this keyword is that it tells SQLBase to wait until X COMMITs have occurred before writing them to disk. This sounds interesting at first; however, experienced DBAs and developers are probably a bit wary of a configuration keyword that causes SQLBase to wait, especially for something as critical as COMMITs. In fact this concern forms the basis for determining the best groupcommit value for your system.

Groupcommit specifies the maximum number of COMMITs that SQLBase groups together before it physically flushes log buffers to disk. By default, SQLBase waits for 1 system tick for the number of COMMITs to equal the groupcommit setting. This waiting period is controlled by another configuration keyword, groupcommitdelay, which controls the maximum number of system ticks (this is determined by hardware; it usually takes about 1/30 of a second) that SQLBase waits before it performs the log flushing.

If groupcommit and groupcommitdelay are set improperly, SQLBase performance will degrade if both of the following conditions are satisfied:

  1. The number of active users is less than the groupcommit
  2. The number of inactive users is greater than that of active users
Inactive user—A user simply connects to a database and does nothing. In SQLBase, a transaction is automatically started for this user at the time of connection. Inactive users have open transactions.

Active user—A user connects to a database, performs operations and issues COMMITs frequently.

DevX Pro
Comment and Contribute






(Maximum characters: 1200). You have 1200 characters left.



Thanks for your registration, follow us on our social networks to keep up-to-date