我正在为一个系统创建数据库模式,并开始想知道关于MySQL中整数数据类型的信息。我已经看到,至少在Moodle中,数据类型有时是TINYINT(例如标志),INT(用于ID号)或BIGINT(用于几乎无限的AI值,如用户标识)。我应该在MySQL中使用什么样的整数?
我想知道:这是如何影响实际的数据库?如果我使用INT来表示标志(例如1 =正在处理,2 =正在处理,3 =正在处理,4 =已处理)而不是TINYINT或BIGINT,是否会产生影响?那么不设置约束呢? (再次像旗子一样,使用TINYINT(1)或TINYINT(没有特定号码))
哦,这是一个很棒的提示!但是,例如,如果我只存储基于10位数字的数据,那么使用INT(10)比使用INT更好?它会以任何方式影响性能/数据吗? – AeroCross 2011-03-04 05:19:11
'TINYINT(5)'和'INT(5)'在磁盘上是不同的(1字节vs 4字节),而INT(1)和INT(2)是相同的(都是4字节)。 – 2011-03-04 18:53:45