InnoDBの主キーはクラスターインデックスだということを意識しよう から導き出されること
トランザクション系テーブルに主キーとして、AUTO_INCREMENTを使うのは100%ではないが、安全策と言えます。
マスター系のテーブルには自然キーを使うほうが良いでしょう。
※show table statusでRow_formatの設定値は確認出来ます。
MySQL 5.0.3以前のバージョンでは、REDUNDANTフォーマット、以降のバージョンではCOMPACTフォーマットがデフォルトになっている
COMPACTフォーマットで文字列型にすべて可変長を使用すれば、実際のデータ内容に応じて、20-30%程度は容量が節約できます。
これはディスク容量だけではなく、バッファプールの効率にも直結します。
これはmyisampackで作成するもの
InnoDBにはCOMPACTフォーマット
MyISAMにはFIXED
を使用しましょう。
※MyISAMをログ出力系にだけ使用するような場合は別です。この場合、MyISAMは
INSERTの処理性能によって選択されたので検索を速くする必要がないわけですから。
上記の物理フォーマットのことからも
InnoDBなら必ず可変長を選ぶ!
MyISAMなら固定長を選ぶ!
と言い切ってよいと思います。
できる限り効率性の高い(最小)の型を使用する!
MySQLのデータ型についてはこちらをどうぞ
このページの下の方に記載されている「初期化パラメータsql_mode」についてはMySQLのSQL_MODEとストリクトモードのほうが詳しく書いてあります。
7月 14
This entry was posted You can leave a response, or trackback from your own site.
コメント入力欄