検査台があります。テストテーブルは次のとおりです。
CREATE TABLE `mytest` (
`num1` int(10) unsigned NOT NULL,
KEY `key1` (`num1`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
このテーブルに 5000 万行を挿入しました。
テーブルのステータスを表示すると、avg_row_length は 7 です。mySQL は整数に 4 バイトを使用するため、4 が表示されると予想していました。キーは avg_row_length に影響しますか? .MYD ファイルを見ると、サイズは 334 MB です。これは、avg_row_length が 7 の場合に正確に指定する必要がある値ですが、int しかないため、実際には 190 MB になると予想していました。
+----------------+--------+---------+------------+----------+----------------+-------------+------------------+--------------+-----------+----------------+---------------------+---------------------+------------+-------------------+----------+----------------+---------+
| 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 テーブルの show table status の出力を含めました。フォーマットについて申し訳ありません:D よろしくお願いします!
アレッサンドロ・フェルッチ