sql database - 数字或字符串数​​据类型

时间:2013-03-06 10:54:54

标签: sql relational-database sqldatatypes

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

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

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

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

2342
3252
2641
...

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

在这两种情况下都没有信息,也就是说,数字的位置没有意义,代码只是一个区别ID。

我将不胜感激。感谢。

2 个答案:

答案 0 :(得分:3)

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

答案 1 :(得分:1)

数据库中的字符串更大,速度更慢。如果你不需要像“0289”这样的东西,那就去整数吧。

如果性能对您非常重要,那么您可以将事件存储为数据库中的整数“289”,并且在您的应用程序中,您可以通过编程方式将其完成为“0289”,但这实际上取决于。

数据库中的字符串索引不是btw的首选方法。

相关问题