2009-07-31 45 views
14

Tôi cần lưu trữ một số lượng rất lớn (hàng chục triệu) các băm SHA-2 512 bit trong bảng MySQL. Để tiết kiệm không gian, tôi muốn lưu trữ chúng ở dạng nhị phân, chứ không phải là một chuỗi một chữ số hex. Tôi đang sử dụng ORM (DBix::Class) để các chi tiết cụ thể của bộ nhớ sẽ được tóm tắt từ mã, có thể thổi phồng chúng vào bất kỳ đối tượng hoặc cấu trúc nào mà tôi chọn.Lưu trữ các số nguyên rất lớn trong MySQL

Loại BIGINT của MySQL là 64 bit. Vì vậy, tôi về mặt lý thuyết có thể chia băm lên trong tám cột BIGINT. Điều đó có vẻ khá vô lý mặc dù. Suy nghĩ khác của tôi chỉ là sử dụng một cột BLOB duy nhất, nhưng tôi đã nghe nói rằng chúng có thể chậm truy cập do MySQL coi chúng là các trường có độ dài thay đổi.

Nếu bất cứ ai có thể cung cấp một số widsom mà sẽ giúp tôi tiết kiệm một vài giờ chuẩn hóa các phương pháp khác nhau, tôi sẽ đánh giá cao nó.

Lưu ý: Tự động -1 cho bất kỳ ai nói "chỉ sử dụng postgres!" :)

+12

chỉ cần sử dụng postgres :) – jeje

Trả lời

18

Bạn đã xem 'nhị phân (64)' chưa? Xem loại MySQL binary.

+0

Cảm ơn, 'BINARY' có vẻ như nó sẽ hoạt động hoàn hảo. – friedo

Các vấn đề liên quan