char和varchar2
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会更好一些。
char和varchar2的更多相关文章
- char 和 varchar2 区别
char 与 varchar2 区别 a:char长度固定而varchar2长度可变 b:char的遍历效率要比varchar2的效率稍高 c:char 浪费空间节省时间 varchar2浪费时间节省 ...
- TEXT、TINYTEXT、MEDIUMTEXT、LONGTEXT选择 和 char varchar varchar2 的区别
TEXT.TINYTEXT.MEDIUMTEXT.LONGTEXT选择: 储存不区分大小写的字符数据 TINYTEXT 最大长度是 255 (2^8 - 1) 个字符. TEXT 最大长度是 6553 ...
- char varchar varchar2 的区别 (转)
char varchar varchar2 的区别 http://blog.csdn.net/honglei_zh/article/details/7172538区别:1.CHAR的长度是 ...
- VARCHAR2(N CHAR)与VARCHAR2(N)的区别[Oracle基础]
转载: http://blog.itpub.net/24930246/viewspace-1064982 在数据库开发的时候,经常需要考虑存储空间的问题,当然很多时候我们并不需要去考虑一些细小的差别, ...
- oracle char和varchar2的区别
char的长度是固定的,varchar2长度是可以变化的.比如:存储的是“abc”,对于char(20)来说,表示你存储的占20个字节(包括17个空字符):而对于varchar2(20)来说,表示你存 ...
- Oracle之Char VarChar VarChar2
Oracle之Char VarChar VarChar2 在Oracle数据库中,字符类型有Char.VarChar和VarChar2三种类型,但不大清楚各自区别在哪儿,平时基本上就是用VarChar ...
- oracle中char],varchar,varchar2
VARCHAR.VARCHAR2.CHAR的区别 1.CHAR的长度是固定的,而VARCHAR2的长度是可以变化的, 比如,存储字符串"abc",对于CHAR (20),表示你存储 ...
- 数据库中,char 与 varchar2 的区别
区别1: char 是定长的字符串 varchar2 是变长的字符串 区别2: name char(10) zhangsan__ 如果实际长度不足10,使用空格补齐 name varchar2 ...
- ORACLE中关于 char 和 varchar2 的比较
先建表做一个测试: ) , VARC2 )), CHAR2 ) ; INSERT INTO TT VALUES('A','A','A') ; INSERT INTO TT VALUES('A','A ...
随机推荐
- 论文解读丨表格识别模型TableMaster
摘要:在此解决方案中把表格识别分成了四个部分:表格结构序列识别.文字检测.文字识别.单元格和文字框对齐.其中表格结构序列识别用到的模型是基于Master修改的,文字检测模型用到的是PSENet,文字识 ...
- UltraSoft - Beta - Scrum Meeting 4
Date: May 20th, 2020. Scrum 情况汇报 进度情况 组员 负责 今日进度 q2l PM.后端 完成了课程中心对课程提醒的爬虫 Liuzh 前端 修改DDL列表中起始时间为课程名 ...
- 自定义注解结合切面和spel表达式
在我们的实际开发中可能存在这么一种情况,当方法参数中的某些条件成立的时候,需要执行一些逻辑处理,比如输出日志.而这些代码可能都是差不多的,那么这个时候就可以结合自定义注解加上切面加上spel表达式进行 ...
- numpy读取本地数据和索引
1.numpy读取数据 np.loadtxt(fname,dtype=np.float,delimiter=None,skiprows=0,usecols=None,unpack=False) 做一个 ...
- Linux Shell Here Document
Here Document 是一种有特殊用处的代码块,他使用IO重定向的形式记录了一段临时的文本或交互命令,并且把这些文本或命令 依次的传递给一个程序或一个命令,作为他运行时的标准输入. Here d ...
- 聊了聊宏内核和微内核,并吹了一波 Linux
看这里!!!https://mp.weixin.qq.com/s?__biz=MzI0ODk2NDIyMQ==&mid=2247494048&idx=1&sn=cacfc6a4 ...
- NSFOCUS建议您采取以下措施以降低威胁: * 修改源代码或者配置文件改变SSH服务的缺省banner。
老扫漏洞出来要整改 1.在 /etc/下创建一个文件 ssh_banner_change,在文件中输入内容,如:welcome! 2.修改/etc/ssh/sshd_config 文件,添加以下内容: ...
- 力扣 - 剑指 Offer 67. 把字符串转换成整数
题目 剑指 Offer 67. 把字符串转换成整数 思路1 根据题意,要解决这题,首先要判断的条件有: 不包括首位空格 第一位必须为:+.-.数字三者其一,否则不合法 数字必须连续的,如果遇到非数字, ...
- 【java+selenium3】JavaScript的调用执行 (十)
JavaScript的调用 在web自动化操作页面的时候,有些特殊的情况selenium的api无法完成,需要通过执行一段js来实现的DOM操作: //执行方式 JavascriptExecutor ...
- jenkins 生成HTML报表,邮件推送
1.登录jenkins,系统管理=>插件管理 =>可选插件安装 安装成功: 2.打开任务,进入配置 3.添加构建后操作 4.配置页面 5.构建后report输出配置完成后点击立即构建,构建 ...