如果我定义 avarchar(25)
并且我的字符串少于 25 个字符(例如 12 个字符),SQL 将 char 的向量显示为长度为 12 并且不添加尾随空格(与字符不同)。
我的问题如下:在 SQL 仅显示插入字段中的字符串(如果长度超过最大长度则截断)这一事实背后,Postgresql 如何存储这种数据类型?
是否用额外的字节填充为:
十二字符 ......(长度:25)
还是只存储 12 个字节?
我认为这在内部可能会更复杂。我只需要知道maximum-length
可选参数是否是禁止大字符串存储的安全性,还是只是一个性能问题(关于是否所有子序列存储的字符串都应小于或等于 25 个字符)。