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)那个效率没太大影响 主要是存储数据选择数据类型要‘慎重’考虑
http://blog.itpub.net/28602568/viewspace-759789/的更多相关文章
- 转载 :sql server分区 http://blog.itpub.net/27099995/viewspace-1081158/
转载:http://blog.itpub.net/27099995/viewspace-1081158/ 在 sql server 2005 之前不提供分区表,但可以用其他方式建立“分区表”,sql ...
- Oracle 0至6级锁的通俗解释及实验案例_ITPUB博客 http://blog.itpub.net/30126024/viewspace-2156232/
Oracle 0至6级锁的通俗解释及实验案例_ITPUB博客 http://blog.itpub.net/30126024/viewspace-2156232/
- 查看oracle数据库的连接数以及用户 (转:http://blog.itpub.net/24558279/viewspace-752293/)
select2.查询oracle的并发连接数4select3.查看不同用户的连接数6select4.查看所有用户:8select5.查看用户或角色系统权限(直接赋值给用户或角色的系统权限):10sel ...
- Mac mySql ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)的解决办法
我的环境:Mac 10.11.6 ,mysql 5.7.14 . mac mySql 报错ERROR 2002 (HY000): Can't connect to local MySQL serv ...
- oracle-查询执行速度慢的sql
Oracle 查询每天执行慢的SQL 2014-12-11 18:00:04 分类: Oracle 链接:http://blog.itpub.net/28602568/viewspace-136484 ...
- [转帖]EXPDP dumpfile和parallel的关系
http://blog.itpub.net/28602568/viewspace-2133375/ 转帖 EXPDP 里面 parallel 与 dumpfile 里面的文件数的关系. 但是我这里有一 ...
- Oracle 查询每天执行慢的SQL
本文转载自http://blog.itpub.net/28602568/viewspace-1364844/ 前言: 工作中的您是否有 想对每天慢的sql进行查询.汇总或者行优化等情况,如下SQL希 ...
- excel 录入oracle 方法
http://blog.itpub.net/28602568/viewspace-1797410/ 1.方法1:外部表 1.将excel另存为.txt格式(2种txt 格式都可以),再传到数据库dir ...
- Oracle 使用sqlnet.ora/trigger限制/允许某IP或IP段访问指定用户
Oracle 使用sqlnet.ora/trigger限制/允许某IP或IP段访问指定用户 学习了:http://blog.itpub.net/28602568/viewspace-2092858/ ...
随机推荐
- 获取磁盘的 总容量,空余容量,已用容量 【windows】
使用windows api 输入:盘符字符串 输出:磁盘容量 float get_disk_spaces(const char drive_letter, float & total_spac ...
- Windows挂载Gluster复制卷
本地挂载测试 mount -t glusterfs 127.0.0.1:/gv1 /mnt [root@gluster1 mnt]# df -h Filesystem Size Used Avail ...
- Lambda表达式最佳实践
简介 Lambda表达式java 8引入的函数式编程框架.之前的文章中我们也讲过Lambda表达式的基本用法. 本文将会在之前的文章基础上更加详细的讲解Lambda表达式在实际应用中的最佳实践经验. ...
- UVA10599:Robots(II)(最长上升子序列)
Your company provides robots that can be used to pick up litter from fields after sporting events an ...
- 《C Primer Plus(第6版)中文版》一1.12 复习题
本节书摘来自异步社区<C Primer Plus(第6版)中文版>一书中的第1章,第1.12节,作者 傅道坤,更多章节内容可以访问云栖社区"异步社区"公众号查看. 1. ...
- windows下安装Pycham2020软件
1.在pycham官网下载安装软件https://www.jetbrains.com/pycharm/download/#section=windows 2.我下载的是64位的安装包,现在开始安装 3 ...
- muduo网络库源码学习————日志类封装
muduo库里面的日志使方法如下 这里定义了一个宏 #define LOG_INFO if (muduo::Logger::logLevel() <= muduo::Logger::INFO) ...
- muduo网络库源码学习————原子性操作Atomic.h
原子性操作可以做到比互斥锁更小的开销,在多线程编程中原子性操作是非常有用的.Atomic.h文件位于muduo/base下,代码如下: // Use of this source code is go ...
- 「译」Graal JIT编译器是如何工作的
原文Understanding How Graal Works - a Java JIT Compiler Written in Java,讲了jvmci和ideal graph的基本概念以及一些优化 ...
- 【Java8新特性】还没搞懂函数式接口?赶快过来看看吧!
写在前面 Java8中内置了一些在开发中常用的函数式接口,极大的提高了我们的开发效率.那么,问题来了,你知道都有哪些函数式接口吗? 函数式接口总览 这里,我使用表格的形式来简单说明下Java8中提供的 ...