上篇文章是我转载的,忘记注明了出处,在这里深感歉意。但是上篇文章中关于自增列预留ID的计算我当时怎么弄明白,后来自己想了想终于想通了,在这里详细解释一下。
我们以一次性插入10行为例,表格如下:
插入行数 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
预留位置个数 | 0 | 1 | 0 | 3 | 0 | 0 | 0 | 7 | 0 | 0 |
当前auto_inc的值 | 2 | 4 | 4 | 8 | 8 | 8 | 8 | 16 | 16 | 16 |
如上表,当插入行数为3时,由于插入行数为2时已经分配了3的位置,所以3不再分配预留空间,直接插入。由此可知当插到第10行时是同一个道理!