2009-07-31 33 views
14

Necesito almacenar un gran número (decenas de millones) de hash SHA-2 de 512 bits en una tabla MySQL. Para ahorrar espacio, me gustaría almacenarlos en forma binaria, en lugar de una cadena de dígitos hexadecimales. Estoy usando un ORM (DBix::Class) para que los detalles específicos del almacenamiento se abstraigan del código, lo que puede inflarlos a cualquier objeto o estructura que elija.Almacenamiento de enteros muy grandes en MySQL

MySQL BIGINT tipo es 64 bits. Así que teóricamente podría dividir el hash entre ocho columnas BIGINT. Aunque parece bastante ridículo. Mi otro pensamiento era simplemente usar una sola columna BLOB, pero he oído que pueden tener acceso lento debido a que MySQL los trata como campos de longitud variable.

Si alguien pudiera ofrecerme alguna bebida que me ahorrará un par de horas de evaluación comparativa de varios métodos, lo agradecería.

Nota: Automático -1 a cualquiera que diga "solo use postgres!" :)

+12

simplemente use postgres :) – jeje

Respuesta

18

¿Has considerado 'binary (64)'? Ver MySQL binary tipo.

+0

Gracias, 'BINARY' parece que funcionará perfectamente. – friedo

Cuestiones relacionadas