14 mysql sql varchar null-terminated
免责声明:我对SQL和数据库一般都很陌生.
我需要创建一个最多可存储32个字符的文本数据的字段." VARCHAR(32)" 是否意味着我的数据中只有32个字符?我是否需要为空终止保留额外的字符?
我进行了一个简单的测试,看起来这是一个WYSIWYG缓冲区.但是,我想从那些真正知道自己在做什么的人那里得到一个具体的答案.
我有一个C [++]背景,所以这个问题在我脑海中引起了警钟.
您的 VARCHAR 规范大小是数据的最大大小,因此在本例中为 32 个字符。然而,VARCHARS 是一个动态字段,因此实际使用的物理存储只是数据的大小加上一两个字节。
如果你把一个10个字符的字符串放入VARCHAR(32)中,物理存储将是11或12个字节(手册会告诉你确切的公式)。
然而,当 MySQL 处理结果集时(即在 SELECT 之后),将为每条记录的该字段在内存中分配 32 个字节。
| 归档时间: |
|
| 查看次数: |
4139 次 |
| 最近记录: |