Мне нужно хранить очень большое количество (десятки миллионов) 512-бит хэшей SHA-2 в таблице MySQL. Чтобы сэкономить место, я хотел бы сохранить их в двоичной форме, а не в строке шестнадцатеричных цифр. Я использую ORM (DBix::Class), поэтому конкретные детали хранилища будут абстрагированы от кода, который может раздуть их на любой объект или структуру, которые я выбираю.Хранение очень больших целых чисел в MySQL
Тип: MySQL BIGINT
Тип: 64 бит. Поэтому я мог теоретически разделить хеш среди восьми столбцов BIGINT
. Это кажется довольно смешным. Моя другая мысль заключалась в использовании единственного столбца BLOB
, но я слышал, что они могут быть медленными для доступа из-за того, что MySQL обрабатывает их как поля переменной длины.
Если бы кто-нибудь мог предложить какой-то widsom, который спасет меня пару часов бенчмаркинга различных методов, я был бы признателен.
Примечание: Автоматический -1 для тех, кто говорит «просто используйте постгрес!». :)
Просто используйте postgres :) – jeje