Ich muss eine sehr große Anzahl (Dutzende von Millionen) von 512-Bit SHA-2-Hashes in einer MySQL-Tabelle speichern. Um Platz zu sparen, möchte ich sie lieber in binärer Form als in einem String mit Hexadezimalzahlen speichern. Ich verwende ein ORM (DBix::Class), so dass die spezifischen Details des Speichers vom Code abstrahiert werden, der sie auf jedes Objekt oder jede Struktur aufblasen kann, die ich auswähle.Speichern sehr großer Ganzzahlen in MySQL
Der Typ BIGINT
von MySQL ist 64 Bit. Also könnte ich den Hash theoretisch unter acht BIGINT
Spalten aufteilen. Das scheint aber ziemlich lächerlich. Mein anderer Gedanke war nur eine einzelne BLOB
Spalte, aber ich habe gehört, dass sie langsam zugreifen können, weil MySQL sie als Felder variabler Länge behandelt.
Wenn jemand einige Widsom bieten könnte, die mir ein paar Stunden des Benchmarking verschiedener Methoden sparen, würde ich es begrüßen.
Hinweis: Automatisch -1 an alle, die "nur Postgres verwenden!" :)
verwenden Sie einfach postgres :) – jeje