Char ,Varchar 与 VarChar2

1  Char 的长度是固定的

    比如Char  VarChar 定义了20的字符长度, 如果存储入 "abc" 字符串的话 Char 将占用20的长度,而Varchar按实际长度保存

    当使用union查询不同表时 可以使用to_char() 函数使字段长度保持一致,避免出错

2 Char 的效率比VarChar高

3 目前VarChar 与 VarChar2是同义词 

   工业标准的VarChar 可以存储空字符串,但是Oracle不这样做,它自己开发了一个类型VarChar2 使其可以保存Null值

   Oracle建议使用VarChar2 为了向后兼容性

 

   怎么选择?

   CHAR与VARCHAR2是一对矛盾的统一体,两者是互补的关系.
   VARCHAR2比CHAR节省空间,在效率上比CHAR会稍微差一些,即要想获得效率,就必须牺牲一定的空间,这也就是我们在数据库设计上常说的‘以空间换效率’。
  VARCHAR2虽然比CHAR节省空间,但是如果一个VARCHAR2列经常被修改,而且每次被修改的数据的长度不同,这会引起‘行迁移’(Row Migration)现象,而这造成多余的I/O,是数据库设计和调整中要尽力避免的,在这种情况下用CHAR代替VARCHAR2会更好一些。  

 

 

4   NVarChar 与 VarChar 区别

     NVarChar  可变长度  支持UniCode字符集

     VarChar    可变长度   不支持UniCode字符集

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值