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)那个效率没太大影响 主要是存储数据选择数据类型要‘慎重’考虑

最新文章

  1. 【python】发送post请求
  2. File system needs to be upgraded. You have version null and I want version 7
  3. 使用Gradle构建构建一个Java Web工程及持续集成环境Jenkins配置
  4. 【NDK开发】使用NDK开发android
  5. .NET 关键字
  6. ansible-3 主机清单hosts的设置
  7. 夺命雷公狗ThinkPHP项目之----企业网站27之网站前台单页的完成(从百度编辑器里面取出文章数据)
  8. 视频转换工具 Transmageddon
  9. mips-linux-gnu-gcc
  10. 深入学习android之AlarmManager
  11. UVA 11354 Bond(MST + LCA)
  12. Java多态的体现之接口
  13. Codeforces 768B Code For 1
  14. JavaEE中的MVC(五)定制Struts——Action跳转JSP
  15. 关于JSP页面URL传值所遇到的小问题
  16. Java生日计算年龄工具
  17. ORACLE——获取随机数
  18. frag
  19. How to use the Custom Material node and create Metaballs 官方视频学习笔记
  20. Linux的capability深入分析(2)【转】

热门文章

  1. 徐州I
  2. 【JAVA基础】10 Object类
  3. Vue Cli 3 报错:router is not defined
  4. 蚂蚁金服合作的RISE实验室到底有多牛?
  5. Nginx访问日志.Nginx日志切割
  6. P1458 顺序的分数 Ordered Fractions(有技巧的枚举)+C++类封装=精简代码
  7. Nginx模块开发(3)————使用upstream访问第三方服务
  8. mysql查询表内所有字段名和备注
  9. libevent(七)信号事件监听
  10. 使用kubeadm部署k8s集群[v1.18.0]