PostgreSql存储整数与varchar的值

时间:2016-02-12 09:49:10

标签: postgresql types varchar bigint

我想在表格中存储一个15位数字。

在查找速度方面,我应该使用bigint还是varchar

此外,如果填充了数百万条记录,不同的数据类型会对存储产生任何影响吗?

2 个答案:

答案 0 :(得分:9)

就空间而言,bigint需要8个字节,而15个字符的字符串最多需要19个字节(4个字节的标题,最多需要15个字节的数据),具体取决于其值。另外,一般来说,对于数值运算,相等检查应该稍快一些。除此之外,它在很大程度上取决于您打算如何处理这些数据。如果您打算使用数字/数学运算或根据范围进行查询,则应使用bigint

答案 1 :(得分:3)

您可以将它们存储为BIGINT,因为与varchar相比,使用INT的比较更快。如果您期望数百万条记录能够更快地进行数据检索,我还建议在列上创建索引。

您还可以查看forum

  

整数类型的索引编制速度最快。可能存储了字符类型   在下面作为整数(猜测。)VARCHAR是变量分配   当你改变字符串长度时,可能需要重新分配。

     

一般整数最快,然后单个字符然后CHAR [x]   类型然后VARCHARS。