1
Sunyanzi 2014-10-22 08:40:21 +08:00
十五个小时了还是没人理 ... 你自己也该知道你这个问题问得有多没水准了 ...
字段的使用没有什么经验之谈 ... 这只是针对场景的个人习惯罢了 ... 没人说手机号码不能用 UNSIGNED BIG INT 存 ... 就像没人说 IP 不能用 CHAR(16) 一样 ... 手机号用数值型存的好处是省空间 ... 坏处是无法存加号及括号 ... 以及批量查询会慢些 ... IP 用数值形存的好处依然是省空间 ... 坏处是存取和判断范围的时候都需要额外的运算 ... 至于时间相关字段 ... 也没人说必须以时间戳的形式存 UNSIGNED INT ... MySQL 自己提供了许多很好用的时间操作函数 ... 为了存进整形字段而抛弃这些函数是愚蠢的 ... 说来当我看到你写出「能用 INT 就不用 BIGINT」这种说法的时候我就不准备继续回答了 ... 这就像说能用 VARCHAR 就不用 TEXT 一样 ... 何况你置 TINYINT 和 SMALLINT 于何处 ..? 这么说你是不是还应该推出能用 SMALLINT 不用 INT 能用 TINYINT 不用 SMALLINT ..? 先这样吧 ... 总而言之一句话 ... MySQL 的每种数据类型都有其存在的意义 ... 先弄清楚每种数据类型为什么存在以及你需要存储的数据会参与怎样的运算再来问吧 ... |