http://blog.itpub.net/28602568/viewspace-759789/
varchar 、varchar2、nvarchar、nvarchar2 -->存储可变的字符串
varchar 、varchar2:
varchar:汉字全角等字符占2字节,数字、字母均1个字节
varchar2:一般所有字符都占2个字符处理,主要也看数据库的编译格式
GBK :汉字占2字节,英文1字节 -->(oracle 按照默认GBK编码格式)
UTF-8:汉字3字节,英文1字节 -->select userenv('language') from dual;查看oracle 编码格式
区别:
varchar2 空串=null “(insert into '' )--->select .. where id is null” 可以查到,varchar类型的空串就按''空串处理,not null查不到
建议使用Oracle提供的特定数据类型varchar2,可以保证VARCHAR2在任何版本中该数据类型都可以向上和向下兼容(varchar oracle不建议使用)
---->varchar2适合存储英文
nvarchar、nvarchar2 :
nvarchar(n):存入n个英文/汉字/中文组合 10指字符数不是字节数 nvarchar类型中文2字节 英文1字节
nvarchar2:字符均按2字节计算 nvarchar(20)-->可存入20个2字节的内容 -->虽占更多空间,兼容性好
NVARCHAR2和VARCHAR2的区别
1、NVARCHAR2(10)-->10中/10英 (nvarchar’2‘适合存储中文)
2、VARCHAR2(10) -->最多5中/10英 适合存储英文
datatypes 官网: http://docs.oracle.com/cd/B19306_01/server.102/b14200/sql_elements001.htm
声明:
这里的user_segments.blocks=user_tables.blocks+user_tables.empty_blocks
dba_tables.BLOCKS Number of used data blocks in the table
dba_tables.EMPTY_BLOCKS Number of empty (never used) data blocks in the table
dba_segments.blocks Size, in Oracle blocks, of the segment
从合理利用空间和兼容性上考虑建议:
如果该列有大量的英文则用varchar2
如果该列有大量的中文则用nvarchar2
总结:
英文就不说了,varchar2存入英文 1字节 nvarchar2 存英文是2字节
所以建议不要在nvarchar2中存入英文 太浪费空间了
测试下5个汉字 的varchar2(10)和 nvarchar2(5)那个效率高:
经测试 5个汉字 的varchar2(10)和 nvarchar2(5)那个效率没太大影响 主要是存储数据选择数据类型要‘慎重’考虑
最新文章
- 【python】发送post请求
- File system needs to be upgraded. You have version null and I want version 7
- 使用Gradle构建构建一个Java Web工程及持续集成环境Jenkins配置
- 【NDK开发】使用NDK开发android
- .NET 关键字
- ansible-3 主机清单hosts的设置
- 夺命雷公狗ThinkPHP项目之----企业网站27之网站前台单页的完成(从百度编辑器里面取出文章数据)
- 视频转换工具 Transmageddon
- mips-linux-gnu-gcc
- 深入学习android之AlarmManager
- UVA 11354 Bond(MST + LCA)
- Java多态的体现之接口
- Codeforces 768B Code For 1
- JavaEE中的MVC(五)定制Struts——Action跳转JSP
- 关于JSP页面URL传值所遇到的小问题
- Java生日计算年龄工具
- ORACLE——获取随机数
- frag
- How to use the Custom Material node and create Metaballs 官方视频学习笔记
- Linux的capability深入分析(2)【转】
热门文章
- 徐州I
- 【JAVA基础】10 Object类
- Vue Cli 3 报错:router is not defined
- 蚂蚁金服合作的RISE实验室到底有多牛?
- Nginx访问日志.Nginx日志切割
- P1458 顺序的分数 Ordered Fractions(有技巧的枚举)+C++类封装=精简代码
- Nginx模块开发(3)————使用upstream访问第三方服务
- mysql查询表内所有字段名和备注
- libevent(七)信号事件监听
- 使用kubeadm部署k8s集群[v1.18.0]