Trước hết, nó hoàn toàn tốt để có những khoảng trống này. Không có vấn đề gì . Đó chỉ là OCD của bạn buộc bạn nghĩ rằng những con số này phải tuân theo một khuôn mẫu - chúng KHÔNG.
-
auto_increment
không phải là một tính năng PHP, nó là một tính năng MySQL -
auto_increment
đảm bảo mọi hàng đều có duy nhất con số. Nó không liên quan đến các số tuần tự -
auto_increment
hoạt động an toàn trong môi trường đồng thời - điều đó có nghĩa là có rất nhiều người dùng kết nối với MySQL và thực hiện mọi thứ, và tất cả họ phải có khả năng xử lý cơ sở dữ liệu và không nhận được cùng một id để xác định một hàng. Điều này được thực hiện thông qua một quá trình khá phức tạp và đây là một trong những lý do tại saoauto_increment
tạo ra khoảng trống -
auto_increment
được sử dụng bởiInnoDB
để tổ chức vật lý các bản ghi trên đĩa - nó sử dụng tính năng củaauto_increment
và cái đó đang tạo ra một số lớn hơn trước (đó là những gì nó làm, lớn hơn trước, không tuần tự). Sử dụng điều này, một cây b được xây dựng và các bản ghi được ghi theo trình tự trên ổ cứng. Giả mạo bằngauto_increment
làm choInnoDB
cân bằng lại cây. Nó có nghĩa là nó đi qua các bản ghi và tạo lại chỉ mục nếu bạn gây rối với nó - đó là điều bạn không muốn. Đã từng
Khi bạn nghĩ về nó, bạn thậm chí nhận được gì với các số liên tiếp? Không có gì thực sự, ngoại trừ bộ não của bạn có thể ít đau hơn vì có một số trật tự tưởng tượng.
Đối với các số liên tiếp, hãy sử dụng trình kích hoạt để tạo chúng. auto_increment
có một công việc và một công việc duy nhất - để tạo ra duy nhất số.