Jika Anda memikirkannya, jumlah kenaikan otomatis seharusnya tidak menjadi transaksional. Jika transaksi lain harus menunggu untuk melihat apakah auto-number akan digunakan atau "rolled back", mereka akan diblokir oleh transaksi yang ada menggunakan auto-number. Misalnya, perhatikan kode psuedo saya di bawah ini dengan tabel A menggunakan bidang nomor otomatis untuk kolom ID:
User 1
------------
begin transaction
insert into A ...
insert into B ...
update C ...
insert into D ...
commit
User 2
-----------
begin transaction
insert into A ...
insert into B ...
commit
Jika transaksi pengguna 2 dimulai satu milidetik setelah pengguna 1, maka penyisipan mereka ke tabel A harus menunggu seluruh transaksi pengguna 1 selesai hanya untuk melihat apakah nomor otomatis dari penyisipan pertama ke A telah digunakan.
Ini adalah fitur, bukan bug. Saya akan merekomendasikan menggunakan skema lain untuk menghasilkan nomor otomatis jika Anda membutuhkannya berurutan dengan ketat.