Обычно автоматически увеличивается значение, которое всегда увеличивается , но могут быть пробелы .
Разрывы могут произойти, если две вставки происходят одновременно, и одна транзакция откатывается, например (если бы база данных обеспечивала отсутствие пропуска, все транзакции нужно было бы сериализовать).
EDIT
Пример для оракула взят из этой страницы :
CREATE SEQUENCE supplier_seq
MINVALUE 1
START WITH 1
INCREMENT BY 1
CACHE 20;
Что касается последовательности, опция кэша указывает, сколько значений последовательности будет храниться в памяти для более быстрого доступа.
Недостатком создания последовательности с кешем является то, что в случае сбоя системы все значения кэшированной последовательности, которые не были использованы, будут «потеряны». Это приводит к «пробелу» в назначенных значениях последовательности. Когда система возвращается, Oracle будет кэшировать новые номера с того места, где она остановилась в последовательности, игнорируя так называемые «потерянные» значения последовательности.