A rollback segment is a storage area that holds copies of data modified by active transactions. If another transaction needs to see the original data (as part of a consistent read operation), the unmodified data is retrieved from this storage area, which is physically part of the system tablespace. For more information about rollback segments and multi-versioning, see Section 14.5.3, “InnoDB Multi-Versioning”.
Prior to MySQL 5.5.4,
InnoDB supported a single
rollback segment which supported a maximum of 1023 concurrent
data-modifying transactions (read-only transactions do not count
against the maximum limit). In MySQL 5.5.4 the single rollback
segment was divided into 128 rollback segments, each supporting up
to 1023 concurrent data-modifying transactions, creating a new
limit of approximately 128K concurrent data-modifying
defines how many of the rollback segments in the system tablespace
are used for
Each transaction is assigned to one of the rollback segments, and remains tied to that rollback segment for the duration. The increased limit for concurrent data-modifying transactions improves both scalability (higher number of concurrent transactions) and performance (less contention when different transactions access the rollback segments).