enum上でtinyint(1)を使用する場合のパフォーマンスや互換性の理由はありますか?他に何か?なぜMySQLのboolean型は列挙型ではなくtinyintにマップされますか?
3
A
答えて
2
MySQL indexes ENUMs with integersが知りたい場合があります。
SQL標準には、1999年以降ブール型のデータ型が含まれています。有効な値はtrue、false、unknownまたはnullです。 Implementation across various database systems is spotty。
MySQLは真のブール型データ型をサポートしていません.BOOLEANはTINYINTにマップします.TINYINTは1バイトしか使用しません。 MySQLは0をfalseと解釈し、他のすべての値は真です。
1
最大8個の値を持つ列挙型が1バイトに格納されます。 tinyintもintに格納されます。だから違いはありません。 MySQLはboolについて全く知らないので、パフォーマンスのためにオプションのいずれかを使用します。これは違いはありません。
関連する問題
- 1. MySQLのデータ型tinyint型(4)
- 2. MySQL:列挙型をtinyintに変えよう
- 3. は、なぜ、すべての列挙型は、列挙型<e>
- 4. System.Net.Http.HttpMethodが列挙型ではなく、クラスであるのはなぜですか?
- 5. 列挙型のデータ型としてのTinyInt
- 6. DBの列挙型または列挙型の列挙型
- 7. 列挙型基になる型は
- 8. なぜ列挙型は静的な値ではなく定数としてコンパイルされましたか?
- 9. なぜtypedefは列挙型で使用されていますか?
- 10. 列挙型フィールドがシリアル化されているのはなぜですか?
- 11. なぜ 'Int32 value__'は列挙型メンバーとして表示されますか?
- 12. 列挙型ではなく、列挙型クラスをいつどのように使うべきですか?
- 13. のPostgreSQL:これは、列挙型の定義で列挙型
- 14. 列挙型はモデルと見なされるべきですか?
- 15. 別の列挙型の基になる型として列挙型を使用できないのはなぜですか?
- 16. JPA/hibernateをMySQL BLOB型にマップできないのはなぜですか?
- 17. "&"は列挙型ですか?
- 18. なぜ#列挙型の中に値を定義しますか?
- 19. なぜ列挙型の名前の前に列挙型の文字数があるのですか?
- 20. なぜ文字列は列挙型ではありませんか?
- 21. Ada:整数型と他の型からなる型を列挙するには?
- 22. データベースのアップグレード後にMySQLで列挙型を選択できないのはなぜですか?
- 23. Resharperはこれらの列挙型が使用されていないと思うのはなぜですか?
- 24. は、列挙型
- 25. 列挙型は
- 26. 列挙型は
- 27. 列挙型は
- 28. は、列挙型
- 29. 列挙型は
- 30. JavascriptをES6静的な列挙型のように外側に使用されるクラス内の列挙型は
* zero = false、non-zero = true *は多くの言語でよく知られた概念であり、非常に単純です。しかし、文字列を使用すると、Y/N、T/F、はい/いいえ、真/偽、TRUE/FALSE、s/no ... –
ハイパフォーマンスMySQLによれば、ブール値を格納する最も効率的な方法は、nullを許容するCHAR(0)です。 – guidoism