Tôi dường như thấy rất nhiều người tự ý gán các kích thước lớn cho các trường khóa chính/ngoài trong các lược đồ MySQL của chúng, chẳng hạn như INT (11) và thậm chí BIGINT (20) khi WordPress sử dụng.MySQL chính/kích thước khóa ngoài?
Bây giờ, hãy sửa tôi nếu tôi sai, nhưng ngay cả INT (4) cũng sẽ hỗ trợ các giá trị (chưa ký) lên tới hơn 4 tỷ. Thay đổi nó thành INT (5) và bạn cho phép các giá trị lên đến một nghìn tỷ, nhiều hơn mức bạn cần, trừ khi bạn có thể lưu trữ dữ liệu địa lý tại NASA/Google, điều mà tôi chắc chắn hầu hết chúng ta đều không.
Có lý do nào để mọi người sử dụng các kích thước lớn như vậy cho khóa chính của họ không? Có vẻ như một sự lãng phí đối với tôi ...
Không, trường kích thước nằm trong các ký tự không phải byte nhị phân. Vì vậy, int (4) chỉ có thể chứa tới 9999 (theo lý thuyết; cơ sở dữ liệu có thể lưu trữ nội bộ lớn hơn). INT (11) thực sự chỉ là một số 32-bit. – MarkR