Die Speicherung von sehr großen Ganzzahlen in MySQL

Brauche ich zum speichern eine sehr große Anzahl (mehrere Millionen) von 512-bit SHA-2-hashes in einer MySQL-Tabelle. Um Platz zu sparen, würde ich mag, um Sie zu speichern in binärer form, sondern als ein string oder eine hex-Ziffern. Ich bin mit einem ORM ( DBix::Class ), so dass die spezifischen details der Lagerung werden abstrahiert aus dem code, die Sie aufzublasen, um ein beliebiges Objekt oder eine Struktur, die ich wähle.

MySQL BIGINT Typ ist 64 bits. Also könnte ich theoretisch teilen Sie die hash-bis unter acht BIGINT Spalten. Das scheint mir ziemlich lächerlich aber. Mein anderer Gedanke war, die nur mit einem einzigen BLOB Spalte, aber ich habe gehört, dass Sie langsam sein kann, um Zugang durch MySQL ist die Behandlung von Ihnen als Felder variabler Länge.

Wenn jemand könnte bieten einige widsom das spart mir ein paar Stunden des benchmarking verschiedener Methoden, ich würde es zu schätzen wissen.

Hinweis: die Automatische -1 bis jeder, der sagt "nur postgres verwenden!" 🙂

  • nur postgres verwenden 🙂
InformationsquelleAutor friedo | 2009-07-31
Schreibe einen Kommentar