У меня есть тестовая таблица. Тестовая таблица выглядит следующим образом:
CREATE TABLE `mytest` (
`num1` int(10) unsigned NOT NULL,
KEY `key1` (`num1`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
Я вставил 50 миллионов строк в эту таблицу.
Когда я показываю состояние таблицы, avg_row_length равна 7. Я ожидал увидеть 4, поскольку mySQL использует 4 байта для целых чисел. Влияет ли ключ на длину avg_row_length? Когда я смотрю на мой файл .MYD, его размер составляет 334 МБ, и это именно то, что следует учитывать, что avg_row_length равно 7, однако я действительно ожидал увидеть 190 МБ, учитывая, что у меня есть только int.
+----------------+--------+---------+------------+----------+----------------+-------------+------------------+--------------+-----------+----------------+---------------------+---------------------+------------+-------------------+----------+----------------+---------+
| Name | Engine | Version | Row_format | Rows | Avg_row_length | Data_length | Max_data_length | Index_length | Data_free | Auto_increment | Create_time | Update_time | Check_time | Collation | Checksum | Create_options | Comment |
+----------------+--------+---------+------------+----------+----------------+-------------+------------------+--------------+-----------+----------------+---------------------+---------------------+------------+-------------------+----------+----------------+---------+
| mytest | MyISAM | 10 | Fixed | 50000000 | 7 | 350000000 | 1970324836974591 | 600518656 | 0 | NULL | 2010-05-22 09:15:06 | 2010-05-22 19:32:53 | NULL | latin1_swedish_ci | NULL | | |
Я включил вывод статуса показа таблицы для таблицы mytest. Извините за форматирование: D
Заранее спасибо!
Алессандро Ферруччи