Оптимизация размера таблицы Mysql
Я рассматриваю проблему.
В языке Си нам предлагается, чтобы размер структуры был кратен 2-байтному.
э:
struct text{
int index;//assume int is 4 byte.
char [8] word;
}//alought text is only 12 bytes, compiler would assign 16 bytes for this struct
Поэтому мне интересно, сталкивается ли с размером записи (спасибо Гордону Линоффу) MySQL та же проблема?
Кроме того, как я могу оптимизировать MySQL через контроль размера таблицы?
1 ответ
Во-первых, вы имеете в виду размер записи, а не размер таблицы.
Во-вторых, базы данных не работают так, как это делают процедурные языки. Записи хранятся на страницах, которые заполняются до тех пор, пока больше не будут соответствовать. Затем используются дополнительные страницы. Как правило, на странице много записей.
Вы можете получить представление о том, как выглядит страница здесь. Они сложны, но в основном скрыты от пользователя.
Похоже, вы пытаетесь "преждевременной оптимизации". Это не совсем корень всего зла, но это отвлекает от достижения цели. Другими словами, определите запись так, как вам нужно. Делай что хочешь. Если у вас есть проблемы с производительностью, исправьте их, когда они возникнут.
Размер записи будет наименьшей из ваших проблем. Базы данных выполняют ввод / вывод в единицах страниц, поэтому разница между 12 и 16 байтами не имеет смысла для одной записи. Вы все еще должны прочитать всю страницу (которая намного больше).