First, InnoDB change buffer introduction:
1. InnoDB change buffer is an optimization of disk IO for OLTP scenarios (I also feel that this is not very like a word, but it is very accurate to explain
InnoDB Change buffer function)
Second, InnoDB change buffer principle:
For INSERT, UPDATE, delete operation to update the data, and to update the index, and if the index page to be updated is not in memory, then InnoDB
Do not rush to put the index page into memory, update, and then write back to disk; It first logs the update of the index to the InnoDB buffer pool.
The area called change buffer. When will it be written back? Currently, there are three scenarios where InnoDB writes the contents of change buffer to the index page
Scenario 1: The index page to be updated is paged into memory
Scenario 2: Server Compare Idle
When the situation 3:mysql into slow shutdown
Third, the InnoDB change buffer may cause problems:
As we said earlier, the memory block used by InnoDB change buffer was split in the InnoDB buffer pool, and the InnoDB buffer pool was designed to
Cache data, index, undo ..... If the change buffer is too big then it's crowding out the memory that was used to cache the index of the data, which could throw
The performance of MySQL database is a problem.
Four, the InnoDB change buffer for fine control:
----
mysql-5.7 InnoDB Change Buffer detailed