InnoDB là một công cụ giao dịch.
Điều này có nghĩa là trong trường hợp sau:
-
Session Achèn bản ghi1 -
Session Bchèn bản ghi2 -
Session Aquay trở lại
, có khả năng có khoảng trống hoặc session B sẽ khóa cho đến khi session A đã cam kết hoặc quay trở lại.
InnoDB các nhà thiết kế (cũng như hầu hết các nhà thiết kế công cụ giao dịch khác) đã chọn để cho phép các khoảng trống.
Từ tài liệu > :
Khi truy cập bộ đếm tăng tự động,
InnoDBsử dụngAUTO-INCcấp bảng đặc biệt khóa nó giữ ở cuốiSQLhiện tại tuyên bố, không phải để kết thúc giao dịch. Chiến lược phát hành khóa đặc biệt đã được giới thiệu để cải thiện tính đồng thời cho các phần chèn vào bảng có chứaAUTO_INCREMENTcột…
InnoDBsử dụng bộ đếm gia tăng tự động trong bộ nhớ miễn là máy chủ chạy. Khi máy chủ dừng và khởi động lại,InnoDBkhởi động lại bộ đếm cho mỗi bảng choINSERTđầu tiên vào bảng, như đã mô tả trước đó.
Nếu bạn sợ id cột bao quanh, đặt nó thành BIGINT (Dài 8 byte).