パフォーマンスの観点から、何が速くなりますか、BIT(1) NULL
(null =不明、0 =男性、1 =女性)またはMySQL MyISAMENUM('unknown', 'male', 'female') NOT NULL DEFAULT 'unknown'
を使用しますか?
または、これはマイクロ最適化と見なされますか?
[編集]
使うつもりだと思いますENUM('male', 'female') DEFAULT NULL
パフォーマンスの観点から、何が速くなりますか、BIT(1) NULL
(null =不明、0 =男性、1 =女性)またはMySQL MyISAMENUM('unknown', 'male', 'female') NOT NULL DEFAULT 'unknown'
を使用しますか?
または、これはマイクロ最適化と見なされますか?
[編集]
使うつもりだと思いますENUM('male', 'female') DEFAULT NULL
はい、これはマイクロ最適化です。パフォーマンスは他のものによって支配され、とにかくnull許容フィールドは(nullフラグの場合)より多くのスペースを必要とするため、意味のある列挙を使用します。
私はこのマイクロ最適化を検討します。
ドキュメントを読まなくてもすべての値の意味が完全に明確であるため、ENUMオプションを選択します。ビットオプションは少しあいまいです。
パフォーマンスに関しては、NULLは通常悪いことを覚えているようですが、現在参照を見つけることができません。