我知道这可能是一个愚蠢的问题,但我不擅长sql
但是在只能有数字1到5的字段上应该有什么类型的字段呢?5是最大值,1是最小值。目前是int(11) not unsigned
我听说错误的类型会影响性能
编辑:数据库为InnoDB。关系数据库管理系统是MySQL
发布于 2010-07-15 12:22:02
根据您的RDBMS,使用一个可以容纳小值的整数。
MySQL has a tinyint datatype,大小为1字节,保存值为0-255或-128到127。
MySQL apparently doesn't have check constraints implemented,所以你要么必须在其他代码中强制执行1-5范围的要求。这里有一些关于编写触发器来执行此业务逻辑的建议。
您在数据类型-伤害-性能上是正确的,但在本例中,它不太可能适用。考虑到这是一个微优化,但仍然值得考虑。
发布于 2010-07-15 12:19:11
什么数据库平台?
我通常会选择最小的,并添加一个检查约束,以便对数据质量/完整性进行良好的度量。
对于SQL Server,这将是tinyint (0-255)。
https://stackoverflow.com/questions/3252402
复制相似问题