TINYINT vs ENUM(0,1)表示MySQL中的布尔值

Wil*_*iam 26 php mysql enums tinyint

哪一个更好,Tinyint在MyISAM表和MySQL 5.1中有0和1值或ENUM 0,1?

Ade*_*eel 25

您可以使用BIT(1)作为中提到的MySQL 5.1参考.我不会推荐enumtinyint(1) 作为bit(1)仅需要1比特,用于存储而布尔值tinyint(1)需要8位.

  • MySQL仍将为位字段分配一个字节的存储空间.区别在于多个位字段将重用该字节直到它满,而tinyint()每个tinyint使用一个字节 (9认同)
  • 如果您计划在这样的列上建立索引,您可能会感到失望。这种列的区分通常很差,以至于尽管存在索引,仍会使用全表扫描。 (2认同)