在建表时,明明可能只有两个字段,但是DBA非要加上一个主键ID,这是为什么呢?
InnoDB维护了一个全局的row_id,如果某个表没有指定一个主键ID,那么在插入数据时,会共享该row_id,并加1。
该row_id只有6个字节,长度支持到2的48次方,如果整个库都使用这个共享row_id,那么用完的可能性是非常大的。
所以为了避免这种情况,DBA一般都是建议每个表单独建主键ID。
转载请注明:迷路的老鼠 » 为什么mySql建表时,DBA一定要让你加主键ID
在建表时,明明可能只有两个字段,但是DBA非要加上一个主键ID,这是为什么呢?
InnoDB维护了一个全局的row_id,如果某个表没有指定一个主键ID,那么在插入数据时,会共享该row_id,并加1。
该row_id只有6个字节,长度支持到2的48次方,如果整个库都使用这个共享row_id,那么用完的可能性是非常大的。
所以为了避免这种情况,DBA一般都是建议每个表单独建主键ID。
转载请注明:迷路的老鼠 » 为什么mySql建表时,DBA一定要让你加主键ID