На основе mysql do c:
Буфер изменений - это специальная структура данных, которая кэширует изменения на страницах вторичного индекса , когда эти страницы не находятся в пуле буферов. Буферизованные изменения, которые могут быть результатом операций INSERT, UPDATE или DELETE (DML), объединяются позже, когда страницы загружаются в пул буферов другими операциями чтения.
Этот do c очень ясно дал понять, что change buffer
может использоваться для non-unique secondary index
.
Вернуться к двоичному журналу формата строки, это не повлияет на change buffer
. Поскольку для insert
, update
и delete
, хотя binlog
нужны все столбцы в строке, эти данные могут быть получены из индекса кластера, и все неуникальные индексы по-прежнему могут получить выгоду от change buffer
.
Реализация :
change buffer
используется, чтобы избежать слишком большого количества случайных операций чтения с диска. redo log
используется, чтобы избежать слишком большого количества случайных операций записи на диск.