我有一个关于在关系数据库中定义代码的原则问题。让我们假设(案例1)我们有一个代码,例如,国籍代码:
1
2
...
23
...
125
...
用于此类代码的首选数据类型是什么(例如INT(3)
或VARCHAR(3)
?)。范围在1到999之间。
现在,让我们假设我们再次有一个数字代码(案例2)但具有固定长度,例如,4:
2342
3252
2641
...
在这种情况下,适当的数据类型是什么?
在这两种情况下都没有信息,也就是说,数字的位置没有意义,代码只是一个区别ID。
我将不胜感激。感谢。
答案 0 :(得分:3)
整数通常比varchars更快搜索并占用更少的空间,所以我想如果不涉及其他因素,请选择整数。
答案 1 :(得分:1)
数据库中的字符串更大,速度更慢。如果你不需要像“0289”这样的东西,那就去整数吧。
如果性能对您非常重要,那么您可以将事件存储为数据库中的整数“289”,并且在您的应用程序中,您可以通过编程方式将其完成为“0289”,但这实际上取决于。
数据库中的字符串索引不是btw的首选方法。