我们正在运行Postgres 8.3.3,文档( http://www.postgresql.org/docs/8.3/static/datatype-character.html)给我留下了一些关于如何分配存储空间的问题。
为了讨论的目的,我想坚持假设一个字符= 1字节。
我理解字符(n)空白区域,因此您总是存储n个字节。
如果你的char(n)> 126个字符长,你有4个字节的开销(大概是为了存储长度),否则是1个字节的开销。
我对varchar(n)会发生什么感兴趣。
如果我使用varchar(255)并在其中存储一个4个字符的字符串,那么我是否有4个字节用于字符串& 4个字节的开销,或者我只有一个字节的开销,直到达到126个字符的限制?
我用Google搜索,无法在任何地方找到此文档。
有什么想法吗?
答案 0 :(得分:2)
这是您存储的数据长度,用于控制开销,而不是列的最大长度。所以你有一个字节的开销,直到你达到126。