1

我有一个关于在关系数据库中定义代码的原则问题。假设(案例 1)我们有一个代码,例如国籍代码:

1
2
...
23
...
125
...

用于此类代码的首选数据类型是什么(例如INT(3)VARCHAR(3)?)。范围在 1 到 999 之间。

现在,假设我们再次有一个数字代码(案例 2),但长度固定,例如 4:

2342
3252
2641
...

在这种情况下,合适的数据类型是什么?

在这两种情况下都没有信息,即一个数字的位置没有意义,代码只是一个区分id。

我将不胜感激任何评论。谢谢。

4

2 回答 2

3

整数通常比 varchars 搜索得更快,并且占用的空间更少,所以我会说如果不涉及其他因素,请选择整数。

于 2013-03-06T11:00:32.630 回答
1

数据库中的字符串更大,速度更慢。如果您不需要“0289”之类的内容,请使用整数。

如果性能对您来说非常重要,那么您可以将它作为整数“289”存储在数据库中,并在您的应用程序中以编程方式将其完成为“0289”,但这真的取决于。

顺便说一句,数据库中的字符串索引不是首选方式。

于 2013-03-06T11:18:34.963 回答