我只是好奇 mysql innodb 何时在需要时执行重新平衡操作。
谢谢。
最佳答案
如果索引是 UNIQUE KEY 或 PRIMARY KEY,InnoDB 必须同步更新 B 树(在您的 INSERT/UPDATE/DELETE 时)。
否则,对于非唯一索引,更改将写入 InnoDB change buffer .这些补充了索引的 B 树。
下次有人的查询读取这些索引条目时,这些更改将合并到 B 树中,否则它们最终会被“合并线程”合并。此外,InnoDB 有一个“慢速关闭”选项,它在您关闭 MySQL 服务器时完全合并所有挂起的更改缓冲区条目。
关于MySQL innodb b-tree 在后台重新平衡异步或在需要重新平衡时完成每次写入操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60368681/