社区
MySQL
帖子详情
3-4位字符串,用char(4)好还是var(4)呢?
jellday
2011-02-25 06:19:43
就是数字加字母,有用于搜索,3个字符或4个,不超过4个,用哪种最好?
...全文
83
7
打赏
收藏
3-4位字符串,用char(4)好还是var(4)呢?
就是数字加字母,有用于搜索,3个字符或4个,不超过4个,用哪种最好?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
7 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
lzl8146
2011-02-28
打赏
举报
回复
跪求给一个数量化的例子能比较出varchar(4)确实比char(4)好?
懒得去死
2011-02-28
打赏
举报
回复
当然是前者。
ldb2741
2011-02-28
打赏
举报
回复
这点是不容置疑的,论效率,定长字段比可变长字段的效率要高
rucypli
2011-02-28
打赏
举报
回复
[Quote=引用 4 楼 lzl8146 的回复:]
跪求给一个数量化的例子能比较出varchar(4)确实比char(4)好?
[/Quote]
建立俩单独表空间存储的表 插入数据 然后看看物理文件大小
ACMAIN_CHM
2011-02-25
打赏
举报
回复
[Quote]11.4.1. CHAR和VARCHAR类型
CHAR和VARCHAR类型类似,但它们保存和检索的方式不同。它们的最大长度和是否尾部空格被保留等方面也不同。在存储或检索过程中不进行大小写转换。
CHAR和VARCHAR类型声明的长度表示你想要保存的最大字符数。例如,CHAR(30)可以占用30个字符。
CHAR列的长度固定为创建表时声明的长度。长度可以为从0到255的任何值。当保存CHAR值时,在它们的右边填充空格以达到指定的长度。当检索到CHAR值时,尾部的空格被删除掉。在存储或检索过程中不进行大小写转换。
VARCHAR列中的值为可变长字符串。长度可以指定为0到65,535之间的值。(VARCHAR的最大有效长度由最大行大小和使用的字符集确定。整体最大长度是65,532字节)。
同CHAR对比,VARCHAR值保存时只保存需要的字符数,另加一个字节来记录长度(如果列声明的长度超过255,则使用两个字节)。
VARCHAR值保存时不进行填充。当值保存和检索时尾部的空格仍保留,符合标准SQL。
如果分配给CHAR或VARCHAR列的值超过列的最大长度,则对值进行裁剪以使其适合。如果被裁掉的字符不是空格,则会产生一条警告。如果裁剪非空格字符,则会造成错误(而不是警告)并通过使用严格SQL模式禁用值的插入。参见5.3.2节,“SQL服务器模式”。
下面的表显示了将各种字符串值保存到CHAR(4)和VARCHAR(4)列后的结果,说明了CHAR和VARCHAR之间的差别:
值 | CHAR(4) | 存储需求 | VARCHAR(4) | 存储需求
'' | '????' | 4个字节 | '' | 1个字节
'ab' | 'ab??' | 4个字节 | 'ab ' | 3个字节
'abcd' | 'abcd' | 4个字节 | 'abcd' | 5个字节
'abcdefgh' | 'abcd' | 4个字节 | 'abcd' | 5个字节
请注意上表中最后一行的值只适用不使用严格模式时;如果MySQL运行在严格模式,超过列长度不的值不保存,并且会出现错误。
从CHAR(4)和VARCHAR(4)列检索的值并不总是相同,因为检索时
[/Quote]
ACMAIN_CHM
2011-02-25
打赏
举报
回复
用CHAR(4)
varchar(4) 中存储3位或者4位并不会比CHAR(4)省空间。
速度上CHAR固定长度要优于VARCHAR
lzl8146
2011-02-25
打赏
举报
回复
个人认为用varchar(4)好,可以省点空间。后面继续拍砖
如果是char(4),当你存3个字符,他会补齐。但这个是否补齐又跟sql_mode有关。
Java工程师必学系列课程之5--《
字符串
及正则表达式》视频课程
课程目标:学习Java语言中
字符串
相关的知识、字符编码常识和正则表达式的使用,并完成案例前导课程:《Java工程师必学系列课程》前4部课程内容:本课程是《Java工程师必学系列课程》的第5部分,主要讲解Java语言中...
MySQL数据库列的类型—
字符串
类型
CHAR
和
VAR
CHAR
类型
其中,“
字符串
类型”参数指定了数据类型为
CHAR
类型还是
VAR
CHAR
类型;M参数指定了该
字符串
的最大长度为M。例如,
CHAR
(4)就是数据类型为
CHAR
类型,其最大长度为4。
CHAR
类型的长度是固定的,在创建表时就指定了。...
算法---压缩
字符串
1.不得不说 写的太水了 还是不断调试的前提下才写出来2. 2.to
Char
和 ‘0’ + 2 得到的
char
是完全不一样的。
怎么用javascript 计算UTF-8编码
字符串
占用的字节长度
[size=large][color=blue]想在页面上计算下字节长度,因为太长后面就不能插入数据库了,所以特别纠结,咋样限制用户的...[size=large][b][color=red]关键字:怎么用js,javascript 计算UTF-8编码
字符串
占用的字节长度...
javascript的把一个
字符串
转换为
char
经常用在解决避免特殊
字符串
引起的bug function stringTo
Char
s (_s){ _s = _s.replace(/(^\s*)|(\s*$)/g, "");
var
_r = ""; for(
var
i=0;i<_s.length;i++){ _r += i==0 ? _s....
MySQL
56,677
社区成员
56,708
社区内容
发帖
与我相关
我的任务
MySQL
MySQL相关内容讨论专区
复制链接
扫一扫
分享
社区描述
MySQL相关内容讨论专区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章