0

一直以来,都是用1和2来记录,男或女。
最近发现一种记录方式,就是用M和F,来代替男和女。

这样记录,明显比1和2,更加直观。


但是,如果从数据库角度来看,int类型的1和2,是否比char类型的M和F,性能更加高,在用索引的情况下?


另外,听说facebook的性别字段,提供了20多个选择,如果是用M和F,这种单个英文来记录,估计也不合适。

大佬们有什么见解?

10月9日提问

查看全部 6 个回答

2

不建议使用数据库 枚举 。既然题目没有标榜是什么数据库,那就以 MySQL 来说 Enum 是一个非常奇葩的存在, 关于 MySQL 枚举坑移步下方[1]。

其次,也不应该使用 int ,在数据库设计原则中,应当以节约为主,除开 int 还有 tinyint 可选。无符号的 tinyint ,存储范围为 0~255 ,总共 256 个数字已经应对绝大部分 类枚举 场景。

至于 Char 还是 tinyint 就是你自己的选择了,当然我更善于在业务中使用 tinyint 。

推广链接