Các khóa chính thường được sử dụng làm trình tự mà dữ liệu thực sự được lưu trữ. Nếu khóa chính được tăng lên, dữ liệu chỉ được thêm vào. Nếu khóa chính là ngẫu nhiên, điều đó có nghĩa là dữ liệu hiện có phải được di chuyển để đưa hàng mới vào trình tự thích hợp. Chỉ mục cơ bản (không phải khóa chính) thường có nội dung nhẹ hơn nhiều và có thể được di chuyển nhanh hơn với ít chi phí hơn.
Tôi biết điều này đúng với các DBMS khác; Tôi muốn đoán rằng MySQL hoạt động tương tự về mặt này.
CẬP NHẬT
Như được nêu bởi @BillKarwin trong các bình luận bên dưới, lý thuyết này sẽ không đúng với các bảng MyISAM. Theo lý thuyết tiếp theo, tôi muốn tham khảo câu trả lời của @ KevinPostlewaite bên dưới (mà anh ấy đã bị xóa), rằng vấn đề là thiếu AUTO_INCREMENT trên một KHÓA CHÍNH - mà phải là duy nhất. Với AUTO_INCREMENT, dễ dàng hơn để xác định rằng các giá trị là duy nhất vì chúng được đảm bảo là tăng dần. Với các giá trị ngẫu nhiên, có thể mất một thời gian để thực sự xem chỉ mục để đưa ra quyết định này.