Ho bisogno di memorizzare un numero molto grande (decine di milioni) di hash SHA-2 a 512 bit in una tabella MySQL. Per risparmiare spazio, mi piacerebbe memorizzarli in forma binaria, piuttosto che una stringa di cifre esadecimali. Sto utilizzando un ORM (DBix::Class) in modo che i dettagli specifici dello spazio di archiviazione vengano estratti dal codice, in modo da poterli gonfiare a qualsiasi oggetto o struttura che scelgo.Memorizzazione di numeri interi molto grandi in MySQL
Il tipo di MySQL BIGINT
è di 64 bit. Quindi ho teoricamente diviso l'hash su otto colonne BIGINT
. Però sembra abbastanza ridicolo. Il mio altro pensiero era semplicemente usare una singola colonna BLOB
, ma ho sentito che possono essere lenti ad accedere a causa di MySQL che li tratta come campi a lunghezza variabile.
Se qualcuno potesse offrire qualche widsom che mi salverà un paio d'ore di benchmarking di vari metodi, lo apprezzerei.
Nota: Automatico -1 a chiunque dica "usa solo postgres!" :)
usa solo postgres :) – jeje