Това е по замисъл и винаги ще се случва.
Защо?
Да вземем 2 припокриващи се транзакции, които извършват INSERT
- Транзакция 1 прави INSERT, получава стойността (да речем 42), върши повече работа
- Транзакция 2 прави INSERT, получава стойност 43, върши повече работа
След това
- Транзакция 1 е неуспешна. Връща се назад. 42 остават неизползвани
- Транзакция 2 завършва с 43
Ако бяха гарантирани последователни стойности, всяка транзакция би трябвало да се случва една след друга. Не е много мащабируем.
Вижте също Вмъкнатите записи винаги да получават непрекъсната идентичност Стойности (SQL сървър, но се прилага същият принцип)