对于什么时候用char,什么时候用varchar还是有点疑惑,请教 当数据场为定长时,如:10位字符编码,用char,可以提高速度;当数据场为不定长,但有最大长度限制时,如:100位字符说明,用varchar,可以节省空间. 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 如果是不定长的定义为char,则用空格补长到定义长度 varchar只是变长(最大长度限制下)的char,需要视你的具体需要确定,如tj_dns(愉快的登山者)所说,对于长度不大或者是定长的数据使用char好,比如记录IP地址,如果你不确定具体多长,在设置了足够的长度时,使用varchar可以节省空间,但不如char效率高。要注意的是:varchar是不会自动添加空格的,而char会添加空格补足长度,这个时候,如果进行处理,可能要进行rtrim的处理,但对于char(10),如果你的内容为"char "时,就没有办法确定具体值,比如密码,有时候需要把空格也当作密码,而使用char则不能满足。http://expert.csdn.net/Expert/TopicView1.asp?id=1839837或许会对你有所帮助。 反正我这种菜鸟都用varchar不就是牺牲一点速度吗? 大多数情况用varchar固定长度和要有索引的列用char 如果该列经常被更新,并且长度变化,可以考虑用char 如果用Char的话,势必要在引用时使用rtrim,是不是会变得更慢? char 和 varchar固定长度 (char) 或可变长度 (varchar) 字符数据类型。char[(n)]长度为 n 个字节的固定长度且非 Unicode 的字符数据。n 必须是一个介于 1 和 8,000 之间的数值。存储大小为 n 个字节。char 在 SQL-92 中的同义词为 character。varchar[(n)]长度为 n 个字节的可变长度且非 Unicode 的字符数据。n 必须是一个介于 1 和 8,000 之间的数值。存储大小为输入数据的字节的实际长度,而不是 n 个字节。所输入的数据字符长度可以为零。varchar 在 SQL-92 中的同义词为 char varying 或 character varying。 定长时用char不定长时用varchar,对索引什么的建议用char可以 提高性能 SQL 查询问题 一道笔试题,各位能帮帮忙吗?(分少,不好意思) 时间长度的表示 根据实际区间查询对应的值 居然select 一个查询不行 关于sqlserver的内存管理,特急,高手请进来下,谢谢…… sql函数取当前时间作为表名 group by 2表 统计问题 请教用企业管理器远程控制sql 2000中的数据库为什么不能使用全文索引功能? 用Delphi开发数据库的讨论. 存储过程中对output参数的右空格截取问题 在存储过程里,如何对里面的一个记录集进行循环操作,急急急
不就是牺牲一点速度吗?
固定长度 (char) 或可变长度 (varchar) 字符数据类型。char[(n)]长度为 n 个字节的固定长度且非 Unicode 的字符数据。n 必须是一个介于 1 和 8,000 之间的数值。存储大小为 n 个字节。char 在 SQL-92 中的同义词为 character。varchar[(n)]长度为 n 个字节的可变长度且非 Unicode 的字符数据。n 必须是一个介于 1 和 8,000 之间的数值。存储大小为输入数据的字节的实际长度,而不是 n 个字节。所输入的数据字符长度可以为零。varchar 在 SQL-92 中的同义词为 char varying 或 character varying。