char的长度是固定的,varchar2长度是可以变化的。比如:存储的是“abc”,对于char(20)来说,表示你存储的占20个字节(包括17个空字符);而对于varchar2(20)来说,表示你存储的占3个字节,其中允许存储的最大字节数为20。

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

varchar2的最大长度为4000bite
char的最大长度为2000bite

oracle char和varchar2的区别的更多相关文章

  1. TEXT、TINYTEXT、MEDIUMTEXT、LONGTEXT选择 和 char varchar varchar2 的区别

    TEXT.TINYTEXT.MEDIUMTEXT.LONGTEXT选择: 储存不区分大小写的字符数据 TINYTEXT 最大长度是 255 (2^8 - 1) 个字符. TEXT 最大长度是 6553 ...

  2. char varchar varchar2 的区别 (转)

    char varchar varchar2 的区别       http://blog.csdn.net/honglei_zh/article/details/7172538区别:1.CHAR的长度是 ...

  3. oracle之VARCHAR2(50 CHAR) 和VARCHAR2(50) 区别?

      首先要明白的是:根据字符集不同,varchar2(50)这样在gbk可存25个汉字,utf8可存16个汉字 这里的50相当于50BYTE,是按字节计数,50CHAR是按字符计数. 对于多字节字符( ...

  4. Oracle varchar与varchar2的区别

    varchar -- 存放定長的字符数据,最长2000個字符:varchar2 -- 存放可变长字符数据,最大长度为4000字符. varchar2是oracle提供的独特的数据类型oracle保证在 ...

  5. 数据库中,char 与 varchar2 的区别

    区别1: char 是定长的字符串 varchar2 是变长的字符串 区别2: name char(10)   zhangsan__ 如果实际长度不足10,使用空格补齐   name varchar2 ...

  6. Oracle CHAR,VARCHAR,VARCHAR2,nvarchar类型的区别与使用(转载)

    一 varchar,varchar2,nvarchar,nvarchar2 四个类型都属于变长字符类型, varchar和varchar2的区别在与后者把所有字符都占两字节,前者只对汉字和全角等字符占 ...

  7. oracle中 char,varchar,varchar2的区别

    区别:      1. CHAR的长度是固定的,而VARCHAR2的长度是可以变化的, 比如,存储字符串“abc",对于CHAR (20),表示你存储的字符将占20个字节(包括17个空字符) ...

  8. VARCHAR2(N CHAR)与VARCHAR2(N)的区别[Oracle基础]

    转载: http://blog.itpub.net/24930246/viewspace-1064982 在数据库开发的时候,经常需要考虑存储空间的问题,当然很多时候我们并不需要去考虑一些细小的差别, ...

  9. oracle中varchar、varchar2、char和nvarchar的区别

    1.char char的长度是固定的,比如说,你定义了char(20),即使你你插入abc,不足二十个字节,数据库也会在abc后面自动加上17个空格,以补足二十个字节: char是区分中英文的,中文在 ...

随机推荐

  1. C# 运用FileInfo类创建、删除文件

    通过FileInfo类,我们可以方便地创建出文件,并可以访问文件的属性同时还可以对文件进行打开文件.关闭文件.读写文件等基本的操作.下面的代码显示了如何创建一个文本文件并且去访问其创建时间.文件的绝对 ...

  2. phpspider案例

    phpspider案例 <?php require './autoload.php'; use phpspider\core\phpspider; /* Do NOT delete this c ...

  3. float浮动布局(慕课网CSS笔记 + css核心技术详解第四章)

    ---------------------------------------------------------------------- CSS中的position: CSS三种布局方式: 标准流 ...

  4. 29.VUE学习之--键盘事件.键盘修饰符的实例讲解

    键盘事件 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF- ...

  5. SOA:面向服务编程——竹子整理

    .net中如webservice,wcf,webapi,均可作为服务层,单独部署,而界面UI则部署在另一台服务器上,所有的业务逻辑均在服务层的业务层中进行. 这样一来,我们的UI其实就可以不限制语言, ...

  6. Mysql相关子查询&&MySQL获取分组后的TOP N记录

    小燕子,哈哈哈哈~~~~~~~~~~ 相关子查询是指引用了外部查询列的子查询,即子查询会对外部查询的每行进行一次计算. 举个例子 root:test> show create table tes ...

  7. layer父页面调用子页面的方法

    由于不知道如何在子页面获取到layer定义的确定按钮,于是就在子页面上定义了一个方法,然后在由父页面在点确定按钮时调用子页面所定义的这个方法,从而执行子页面方法里面的内容: 子页面代码: functi ...

  8. 《鸟哥的Linux私房菜》学习笔记(4)——用户和组

    一.用户和组的基本概念                                              1.用户 用户:用于获取计算机资源或服务的标识符,比如用户名.计算机处理的是UID,用 ...

  9. Android引导页过多导致OOM内存泄漏

    摘要:前几天推广我们APP的时候,有些手机加载引导页的时候会闪退或崩溃,在Bugly显示是OOM异常.    然后Bugly上面显示的解决方案是: 该异常表示未能成功分配字节内存,通常是因为内存不足导 ...

  10. 第三模块 面向对象& 网络编程基础 实战考核

    1.简述构造方法和析构方法. 构造方法(__init__):主要作用是实例化时给实例一些初始化参数,或执行一些其它的初始化工作,总之因为这个__init__只要一实例化, 就会自动执行,不管你在这个方 ...