WedX - журнал о программировании и компьютерных науках

заполняет ли BIT неиспользуемое пространство после 1 байта?

Мои таблицы, вероятно, будут иметь очень большие длины строк. Если я правильно читаю, BIGINT со значением 1 займет полные 8 байтов. https://dev.mysql.com/doc/refman/5.5/en/storage-requirements.html

Это кажется ужасно неэффективным.

Действует ли BIT так же или это гибрид переменной длины? Я знаю, что использование менее 1 полного байта по-прежнему будет занимать 1 байт дискового пространства, за исключением случаев, когда есть другие BITs, например, 8 столбцов BIT 1 будут занимать только 1 байт, если я правильно читаю.

Другими словами, если у меня есть BIT 41 без других столбцов BIT, будет ли строка с 0 для этого столбца потреблять 1 байт или полные 6 байтов, в отличие от 2 ^ 41-1, которые, конечно, будут занимать полные 41 бит?


Ответы:


1

Согласно документам, похоже, вы не повезло: бит всегда будет того размера, который вы указали. На самом деле, он, скорее всего, будет больше. можно рассмотреть сериализацию ваших битов в поле BLOB, поскольку они имеют переменную длину.

21.03.2013
  • Ключевая часть второй ссылки такова: Исключением из этого правила является тип BIT, который не выровнен по 4 байтам. В таблицах MySQL Cluster столбец BIT(M) занимает M бит дискового пространства. Однако, если определение таблицы содержит 1 или более столбцов BIT (до 32 столбцов BIT), то NDBCLUSTER резервирует для них 4 байта (32 бита) на строку. Если определение таблицы содержит более 32 столбцов BIT (до 64 таких столбцов), NDBCLUSTER резервирует 8 байтов (то есть 64 бита) на строку. 21.03.2013
  • Новые материалы

    Объяснение документов 02: BERT
    BERT представил двухступенчатую структуру обучения: предварительное обучение и тонкая настройка. Во время предварительного обучения модель обучается на неразмеченных данных с помощью..

    Как проанализировать работу вашего классификатора?
    Не всегда просто знать, какие показатели использовать С развитием глубокого обучения все больше и больше людей учатся обучать свой первый классификатор. Но как только вы закончите..

    Работа с цепями Маркова, часть 4 (Машинное обучение)
    Нелинейные цепи Маркова с агрегатором и их приложения (arXiv) Автор : Бар Лайт Аннотация: Изучаются свойства подкласса случайных процессов, называемых дискретными нелинейными цепями Маркова..

    Crazy Laravel Livewire упростил мне создание электронной коммерции (панель администратора и API) [Часть 3]
    Как вы сегодня, ребята? В этой части мы создадим CRUD для данных о продукте. Думаю, в этой части я не буду слишком много делиться теорией, но чаще буду делиться своим кодом. Потому что..

    Использование машинного обучения и Python для классификации 1000 сезонов новичков MLB Hitter
    Чему может научиться машина, глядя на сезоны новичков 1000 игроков MLB? Это то, что исследует это приложение. В этом процессе мы будем использовать неконтролируемое обучение, чтобы..

    Учебные заметки: создание моего первого пакета Node.js
    Это мои обучающие заметки, когда я научился создавать свой самый первый пакет Node.js, распространяемый через npm. Оглавление Глоссарий I. Новый пакет 1.1 советы по инициализации..

    Забудьте о Matplotlib: улучшите визуализацию данных с помощью умопомрачительных функций Seaborn!
    Примечание. Эта запись в блоге предполагает базовое знакомство с Python и концепциями анализа данных. Привет, энтузиасты данных! Добро пожаловать в мой блог, где я расскажу о невероятных..


    Для любых предложений по сайту: wedx@cp9.ru