字符型的类型比较多,常用的有 char, varchar, text, blob四种。本篇一一进行整理归纳。
char与varchar区别
存储方式与读取的区别
char 叫做定长字符串,每个数据存储的长度是固定的。好处是查找行记录时,完全可以通过行数与长度计算出来文件指针的偏移量,查找的效率比 varchar 高一些。缺点也是明显的无论是否达到指定长度,实际都占据指定的长度n,如果数据长度小于 n 会用空格在末尾补 n 个长度,会浪费一定的空间。
varchar 叫做变长字符串,数据存储的时候,即使没存满设定的长度,也不会用空格补满。那么就导致了变长的字符串读取和定长的方式不同。varchar 会在数据前用一个字节或者两个字节前缀来记录数据长度。如果声明的 varchar 长度超过255就是2个字节。
以公交车票价为例子来说明此过程。有些公交的票价是固定的,无论是坐一站还是从头坐到尾,都是一样的价格。这种计算方式的好处就是统计方便,每次只用投币2元即可,也不需要乘务员。但是就会导致即使坐了较短的距离也付了固定的钱。另一种公交的价格计算方式是依据乘坐的距离。坐的越长价格越贵。这种方式的好处就是不会出现只坐一两站却付了很多钱,但是有个缺点就是需要有个乘务员或者系统依据每次乘坐的距离。扣除花的钱。在 varchar 中数据前面的前缀就相当于售票员或者计价系统,按照上车地点,坐车距离,扣除每次花的钱。
类型
宽度
可存字符
实际字符长度(i<=M)
实际占用空间
利用率
char
M
M
i
M
i/M <= 100%
本文发布于:2024-02-04 20:18:49,感谢您对本站的认可!
本文链接:https://www.4u4v.net/it/170715686459279.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |