Мы с важной новостью: с 28 февраля 2025 года сервис Хабр Фриланс прекратит свою работу.

Купить услуги можно до 28 февраля 2025, но пополнить баланс уже нельзя. Если на вашем счете остались средства, вы можете потратить их на небольшие услуги — служба поддержки готова поделиться бонусами, на случай, если средств немного не хватает.
R50 7cc9d171dabbc61fd96c0982301d3267
Базы данных

Хранение битовой маски в MySQL

Добавлено 02 мая 2019 в 12:24
Разработка решения для хранения битовой маски (>64 бит) в MySQL.

Нужно было перегнать БД из TranseBase в MySQL. И встретил я там битовую маску длиной 252, максимум до 1024

Принимая во внимание:
* максимальный размер битового поля в MySQL – 64 бит,
* нужно как минимум хранить 252 бит, а строк в таблицах исчисляется в миллионах
* varchar(252) – дофига может жрать места (на минутку 252 байта + длина)

рассматривалось
решение хранить битовую маску в TINYBLOB типе, потому что размер этого
поля зависит от реальной длины хранимой информации + 1 байт(длина). Т.е.
надеемся что 252 влезут в 31 байт + байт на длину.

Решение размещено тут - www.sql.ru/forum/989344/hranenie-bitovoy-maski-v-mysql
44e552557d