Postgresql Postgres字符串数据类型存储分配
我们正在运行Postgres 8.3.3,文档()给我留下了一些关于如何分配存储的问题 在本次讨论中,我想坚持假设字符=1字节 我知道字符(n)是空白的,所以你总是有n个字节存储 如果char(n)>126个字符长,则开销为4个字节(可能用于存储长度),否则开销为1个字节 我对varchar(n)发生了什么感兴趣 如果我使用varchar(255)并在其中存储一个4个字符的字符串,那么我的字符串是否有4个字节&4个字节的开销,还是只有一个字节的开销,直到达到126个字符的限制 我已经在谷歌上搜索过了,在任何地方都找不到这个文档Postgresql Postgres字符串数据类型存储分配,postgresql,Postgresql,我们正在运行Postgres 8.3.3,文档()给我留下了一些关于如何分配存储的问题 在本次讨论中,我想坚持假设字符=1字节 我知道字符(n)是空白的,所以你总是有n个字节存储 如果char(n)>126个字符长,则开销为4个字节(可能用于存储长度),否则开销为1个字节 我对varchar(n)发生了什么感兴趣 如果我使用varchar(255)并在其中存储一个4个字符的字符串,那么我的字符串是否有4个字节&4个字节的开销,还是只有一个字节的开销,直到达到126个字符的限制 我已经在谷歌上搜索
有什么想法吗?控制开销的是存储的数据长度,而不是列的最大长度。因此,在达到126之前,您将有一个字节的开销。谢谢Magnus。这回答了我的问题。。。锦上添花的是这是否在任何地方都有记录…@nos-问题是关于varchar,而不是char@apz74-该页面实际上有它。当然,从中得出结论并不那么容易。。。