Domanda

Devo memorizzare un numero molto grande (decine di milioni) di hash SHA-2 a 512 bit in una tabella MySQL. Per risparmiare spazio, vorrei memorizzarli in forma binaria, anziché in una stringa di cifre esadecimali. Sto usando un ORM ( DBix :: Class ) in modo che i dettagli specifici dell'archiviazione vengano sottratti dal codice, il che può gonfiarli a qualsiasi oggetto o struttura che scelgo.

Il tipo BIGINT di MySQL è di 64 bit. Quindi potrei teoricamente dividere l'hash tra otto colonne BIGINT . Sembra piuttosto ridicolo però. L'altro mio pensiero era usare solo una singola colonna BLOB , ma ho sentito che possono essere lenti ad accedere a causa del fatto che MySQL li tratta come campi a lunghezza variabile.

Se qualcuno potesse offrire un po 'di ampiezza che mi farà risparmiare un paio d'ore di analisi comparativa di vari metodi, lo apprezzerei.

Nota: automatico -1 per chiunque dica "usa solo postgres!" :)

È stato utile?

Soluzione

Hai considerato "binario (64)"? Vedi binario MySQL .

Altri suggerimenti

Utilizzare il tipo BINARY (64)?

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top