ユーザーの詳細を格納するテーブルがあります。私は10Kの値をほとんど持つことができません。そのIDフィールドはbigint(20)として定義されており、大きなビッグデータ範囲でも保持できます。
さて、それをSMALLINTに変更すると、パフォーマンスやストレージの面で不利になります...?誰かがそれをどのように説明するかを説明しましょう。
IDがINT(10)の小さなテーブルを2つ作成
し、IDがINT(100)のテーブルを作成します。
それぞれに513行挿入しました。それぞれのshowcreatetableを見ると、データサイズやインデックスサイズに変化は見られませんでした。それらはMYISAMテーブルです。次に、int(100)またはINT(10)よりもSMALLINTを選択する方が良いことは何ですか
これがその情報です
| id | int(10) | NO | PRI | NULL | auto_increment |
| size | int(10) | YES | | NULL | |
Data_length: 4617
Index_length: 8192
| id | int(100) | NO | PRI | NULL | auto_increment |
| size | int(10) | YES | | NULL | |
Data_length: 4617
Index_length: 8192