请教一个字符问题 当设定好varchar或者nvarchar的字符长度时,例如: varchar(100), 那么无论我存一个还是二十个字符,它都应该会留 出100个字符的空间吧? 如果是这样的话那么它和char(100)性能不就一样了? 那为什么网上有些资料说定长类型比不定长类型的性能要好?期待您的解答,谢谢! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 varchar\nvarchar 只留占用的空间,也就是实际多长就是多长 varchar存储大小是输入数据的实际长度 + 2 个字节.即便声明大小为100,也根据使用实际长度来分配空间。nvarchar 存储大小是所输入字符个数的两倍 + 2 个字节定长类型比不定长类型的性能要好??这个应该说的有语境吧,比如存储空间大小方面考虑等。我个人觉得,既然存在这两种类型,必然在某些情况下,各自有各自的有点。所以,两个谁更优,关键是看用在哪儿了!参考哈! 例如,你的是段是varchar(100),如果你保存的内容只有10个,那么后面90个是空格,针对varchar类型,其后面90个空格是保存的.也就是说,实际上只有10个字符的空间.但如果是char(100),则保存后面90个空格.两者的区别就在这里. varchar(100), 那么无论我存一个还是二十个字符,它都应该会留出100个字符的空间吧?不是VARCHAR,仅会占用这20字符的空间+3字节长度标志= 23 字符。而CHAR(100) , 则会填充空格至100个字符 当设定好varchar或者nvarchar的字符长度时,例如: varchar(100), 那么无论我存一个还是二十个字符,它都应该会留 出100个字符的空间吧? 如果是这样的话那么它和char(100)性能不就一样了? 那为什么网上有些资料说定长类型比不定长类型的性能要好? 期待您的解答,谢谢! 求一条拆分SQL语句 SQL查询问题 为何维护计划不能按时执行呢? ASP连接SQL时怎样可以让密码在代码中不出现?建立ODBC数据源可以吗? 查询 7.0版本数据库恢复问题 SQL Server 2005 还原时候遇到的问题。 表中未建记录记录序号的字段,如何在该表中获得某一段位置的记录 SQLServer2005安装问题,求解?? sql 里的case 存储过程导出问题,请高手 sql server 2005 express如何升级到正式版?
存储大小是输入数据的实际长度 + 2 个字节.
即便声明大小为100,也根据使用实际长度来分配空间。nvarchar
存储大小是所输入字符个数的两倍 + 2 个字节
定长类型比不定长类型的性能要好??这个应该说的有语境吧,比如存储空间大小方面考虑等。
我个人觉得,既然存在这两种类型,必然在某些情况下,各自有各自的有点。所以,两个谁更优,关键是看用在哪儿了!
参考哈!
如果你保存的内容只有10个,那么后面90个是空格,针对varchar类型,其后面90个空格是保存的.也就是说,实际上只有10个字符的空间.
但如果是char(100),则保存后面90个空格.
两者的区别就在这里.
不是VARCHAR,仅会占用这20字符的空间+3字节长度标志= 23 字符。
而CHAR(100) , 则会填充空格至100个字符
期待您的解答,谢谢!