Chúng ta cần lưu trữ nhiều hàng trong bảng MySQL (InnoDB), tất cả chúng đều có chuỗi nhị phân 8 byte làm khóa chính. Tôi đã tự hỏi rằng tốt nhất là sử dụng loại cột BIGINT (có chứa 64-bit, do đó 8 byte, số nguyên) hoặc BINARY (8), có độ dài cố định.MySQL: khóa chính là chuỗi 8 byte. Sử dụng BIGINT hoặc BINARY (8) có tốt hơn không?
Vì chúng tôi đang sử dụng các id đó làm chuỗi trong ứng dụng của chúng tôi chứ không phải số, lưu trữ chúng dưới dạng chuỗi nhị phân âm thanh mạch lạc hơn với tôi. Tuy nhiên, tôi tự hỏi nếu có vấn đề hiệu suất với điều này. Liệu nó có bất kỳ sự khác biệt?
Nếu điều đó quan trọng, chúng tôi đang đọc/lưu trữ các id này bằng ký pháp hex (như page_id = 0x1122334455667788). Tuy nhiên, chúng tôi sẽ không sử dụng số nguyên trong truy vấn vì chúng tôi đang viết một ứng dụng PHP và bạn chắc chắn không có loại "long long int", vì vậy tất cả các số nguyên là kích thước phụ thuộc vào máy.