Nếu bạn nghĩ về điều này, số tự động tăng không nên được giao dịch. Nếu các giao dịch khác phải chờ xem liệu số tự động sẽ được sử dụng hay "khôi phục", chúng sẽ bị chặn bởi giao dịch hiện có sử dụng số tự động. Ví dụ:hãy xem xét mã psuedo của tôi bên dưới với bảng A bằng cách sử dụng trường số tự động cho cột 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
Nếu giao dịch của người dùng 2 bắt đầu một phần nghìn giây sau giao dịch của người dùng 1, thì phần chèn của họ vào bảng A sẽ phải đợi toàn bộ giao dịch của người dùng 1 hoàn tất chỉ để xem liệu số tự động từ lần chèn đầu tiên vào A có được sử dụng hay không.
Đây là một tính năng, không phải là một lỗi. Tôi khuyên bạn nên sử dụng một lược đồ khác để tạo số tự động nếu bạn cần chúng liên tục chặt chẽ.