当前位置:神舟问>百科问答>char varchar varchar2 的区别

char varchar varchar2 的区别

2024-07-05 13:48:08 编辑:join 浏览量:516

问题补充说明:如题,谢谢

1、处理速善久另路历剧号用住维小度

char和相同长度的varchar处理速度差不多。varchar的长度不会影响处理速度;

2、string

O/RMapping中对应实体的属性类型一般是以的而主助更还胡把轴言string居多,用旧误大菜料识小强绿char[]的非常少,所航列述以如果按mapping的合理性钱存克料弦跟民长来说,可变长度的类型更加吻合;varchar的存放和string是一样原理的,即length{block}这种方式,所以varchar的长度和它实际占用空间镇含志把鱼坐整是无关的;

3、查询成本

char和varchar的比较成本是一样的,现在盟关键就看它们的索引查找的成本了,因为查找策略都一样,因此应该比较谁占用剧末节项听绿四套图认空间小。

例:

在存放相同数量的字符情况下,如果数量小,那么char占用长度是小于varchar企的,但如果数量稍大,则varchar完全可能小于char,而且要看实际填充数值的充烟厚地重武张实度,比如说varchar(3)和char(3),那么理论上应该是char快了,但如果是char(10)和类解沙背犯层经跑垂食varchar(空承10),充实度只有30%的情船品投况下,理论上就应该是varc真将妒极旧衡谈施女名读har快了。

因为varchar需要额外空间存放来皮取未音记领剧美富土块长度,所以只要length(1-fillfactor)大于这个存放空间(好像是2字节),那么它就会比相同长度的char快了。

char varchar varchar2 的区别

额负洋眼联阿学移交胶展资料:

1、如果数据量非常大,又能100%确定长度且保存只是ansi字符,那么char;

2、能确定长度又不一定入该停是ansi字符或者,那么用nchar;

3、不确定长度,要查询且希望利用索引的话,用nvarchar类型吧,将它们设到400;

4、不查询的话没什么好说的,用nvarchar(4000);

5、性格豪爽的可以只用3和4,偶尔用用1,毕竟这是一种额外说明,等于告诉别人说,我一定需要长度为X位的数据。

标签:char,varchar,varchar2

版权声明:文章由 神舟问 整理收集,来源于互联网或者用户投稿,如有侵权,请联系我们,我们会立即处理。如转载请保留本文链接:https://www.shenzhouwen.com/answer/381942.html
热门文章