我知道也许这是一个愚蠢的问题,但我吮吸sql
但是,对于只能包含数字1到5的字段,您应该使用哪种字段类型? 5是最大值,1是最小值。
目前是int(11) not unsigned
我听说错误的类型可能会影响性能
编辑:数据库是InnoDB。 RDBMS是MySQL
答案 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)。