什么字段类型?

时间:2010-07-15 04:12:15

标签: sql database

我知道也许这是一个愚蠢的问题,但我吮吸sql

但是,对于只能包含数字1到5的字段,您应该使用哪种字段类型? 5是最大值,1是最小值。 目前是int(11) not unsigned

我听说错误的类型可能会影响性能

编辑:数据库是InnoDB。 RDBMS是MySQL

2 个答案:

答案 0 :(得分:2)

根据您的RDBMS,使用一个可以保存较小值的整数。

MySQL has a tinyint datatype,大小为1个字节,保存值0-255或-128到127.

当前版本中的

MySQL apparently doesn't have check constraints implemented,因此您必须自己在其他代码中强制执行1-5范围要求。关于编写触发器以强制执行此业务逻辑,有一些建议。

你对数据类型的影响是正确的,但在这种情况下,它不太适用。考虑这是微观优化,但仍值得考虑。

答案 1 :(得分:0)

什么是数据库平台?

我通常会选择最小的并添加一个检查约束,以便更好地衡量数据质量/完整性。

对于SQL Server,这将是tinyint(0-255)。