I am generating a surrogate key for a table & due to my hi/lo algorithm, everytime you reboot/restart the machine, gaps may appear.
T1: current hi = 10000000
(sequence being dished out .. 1 to 100)
Assume that current sequence is 10000050
T2: restart system.
T3: System gives out the next_hi as 10000100
(sequence being dished out now ranges from 101 to 200)
T4: Next request for a key returns 100001001
From a primary key or indexing internals perspective, why is it important that there be no gaps in the sequences ? I’m asking this for a deeper understanding of mysql specifically.
It’s not important – what lead you to believe it was?
All that matters with the primary key is that it is unique to all the data in the table. Doesn’t matter what the value is, or if the records before and after are sequencial values.