Вопрос

У меня есть стол с колоннами, меньшим, целым числом и двумя поплавками. Ожидаемая память для каждой строки составляет 14bytes (2 + 4 + 2 * 4). У меня есть около 700 000 строк в моем столе. Я не устанавливаю основные ключи и индексы. Хотя тип MyISAM занимает около 10 МБ (в среднем 15b для каждой строки), тип InnoDB занимает более 30 МБ (в среднем 44b). Что я здесь не хватает? Если бы InnoDB так много на каждую строку, или номер статуса таблицы не должен доверять. Мне нужно хранить данные, которые будут работать в GBS, поэтому нужно определиться с типом хранения путем взвешивания разных параметров.

Это было полезно?

Решение

Таблицы InnoDB занимают больше места по сравнению с MyISAM. Будь то компромисс между использованием хранения и функциями, предлагаемыми InnoDB (Crash-Safe, транзакциями и иностранными ключами), Favors InnoDB - это то, что вам придется принять решение. Переключившись с Мисама в InnoDB, я бы не вернулся.

Стоит отметить, что если вы собираетесь идти вперед и использовать InnoDB, вы обязательно хотите определить основной ключ (и в идеале короткий). Это связано с тем, как innodb ведет себя в хранение и другие индексы. Видеть эта страница.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top