必威体育Betway必威体育官网
当前位置:首页 > IT技术

char和VARCHAR主要的区别是什么?

时间:2019-08-25 10:41:04来源:IT技术作者:seo实验室小编阅读:88次「手机版」
 

varchar

区别: 
1.CHAR的长度是固定的,而VARCHAR2的长度是可以变化的, 比如,存储字符串“abc",对于CHAR (10),表示你存储的字符将占10个字节(包括7个空字符),而同样的VARCHAR2 (10)则只占用3个字节的长度,10只是最大值,当你存储的字符小于10时,按实际长度存储。 
2.CHAR的效率比VARCHAR2的效率稍高。 
3.目前VARCHAR是VARCHAR2的同义词。工业标准的VARCHAR类型可以存储空字符串,但是oracle不这样做,尽管它保留以后这样做的权利。Oracle自己开发了一个数据类型VARCHAR2,这个类型不是一个标准的VARCHAR,它将在数据库中varchar列可以存储空字符串的特性改为存储NULL值。如果你想有向后兼容的能力,Oracle建议使用VARCHAR2而不是VARCHAR。 
何时该用CHAR,何时该用varchar2? 
CHAR与VARCHAR2是一对矛盾的统一体,两者是互补的关系. 
VARCHAR2比CHAR节省空间,在效率上比CHAR会稍微差一些,即要想获得效率,就必须牺牲一定的空间,这也就是我们在数据库设计上常说的‘以空间换效率’。 
VARCHAR2虽然比CHAR节省空间,但是如果一个VARCHAR2列经常被修改,而且每次被修改的数据的长度不同,这会引起‘行迁移’(Row Migration)现象,而这造成多余的I/O,是数据库设计和调整中要尽力避免的,在这种情况下用CHAR代替VARCHAR2会更好一些。

相关阅读

InputStreamReader和OutputStreamWriter 的区别和用法

转自:https://blog.csdn.net/Appleyk/article/details/79639444一、InputStreamReader用于将一个字节流中的字节解码成字符 , 用法

ECharts中的 formatter中的a,b,c,d等参数的意义

其中变量a、b、c在不同图表类型下代表数据含义为:折线(区域)图、柱状(条形)图: a(系列名称),b(类目值),c(数值), d(无)散点图(气泡)图 : a(系列名称),b

MySql : varchar 和varchar 的区别

mysql int(10)的含义int(M) M表示最大显示宽度。最大有效显示宽度是255。显示宽度与存储大小或类型包含的值的范围无关。 在 int

引用类型和基本类型的区别?

两者的区别可以主要从以下三个方面说起:1:内存空间   2:对值的操作   3:变量的复制    《javascript高级程序设计》中对于二者

天猫分销如何终止代理商家?经销和代理有什么区别?

最近不少朋友咨询小编天猫分销如何终止代理商家方面的问题,为了可以尽快的回复大家信息,小编收集了不少的资料,下面就把整理好的信息

分享到:

栏目导航

推荐阅读

热门阅读