关于MySQL 的自增主键不单调也不连续
MySQL中不连续的主键又是一个工程设计向性能低头的例子,牺牲主键的连续性来支持数据的并发插入,最终提高了MySQL服务的吞吐量,作者在几年前刚刚使用MySQL时就遇到过这个问题,但是当时并没有深究背后的原因,今天重新理解该问题背后的设计决策也是个非常有趣的过程。早期MySQL的主键既不是单调的,也不是连续的。不过如果在最后事务1由于插入的记录发生了唯一键冲突导致了回滚,而事务2没有发生错误而正常提交,在这时我们会发现当前表中的主键出现了不连续的现象,后续新插入的数据也不再会使用。...