How does InnoDB behave without a Primary Key?
摘要
在InnoDB中,如果一个表没有声明主键或适用的唯一索引,它会自动添加一个名为ROW_ID的隐藏列,并根据该列对数据进行聚集。所有使用ROW_ID列的表共享同一个全局序列计数器,该计数器存储在系统表空间中。为了确保生成的ID不冲突,计数器每生成256个ID就会被写入磁盘。具有隐式聚集键的表可能在操作(无关的)表的删除过程中出现随机插入停顿,并且并行插入多个具有隐式键的表可能受到性能限制。每生成的256个值都会导致对SYS页面修改的日志写入和刷新。