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