http://www.cnblogs.com/kxdblog/p/4042331.html

https://wenku.baidu.com/view/97524e0f844769eae009ed80.html

http://blog.csdn.net/lwei_998/article/details/7728173

char是定长的,varchar是变长的。varchar2应该是varchar的升级,似乎只有ORACLE才有,这里不作讨论。

char定长存储,速度快,但是存在一定的空间浪费,适用于字段不是很大,对速度要求高的场合。速度快是因为其在物理上是按定长存储的,这样,就可以根据偏移址一次取出固定长度的字符。

varchar变长存储,所以效率不如char。varchar在存储时,在物理上要先存储该字段的实际长度,然后才是内容。这样读取的时候,就要读取两次,一次读它的长度,然后才是内容。所以它的访问速度会比char慢一些。但它可以节省空间。

由于mysql自身的特点,如果一个数据表存在varchar字段,则表中的char字段将自动转为varchar字段。在这种情况下设置的char是没有意义的。所以要想利用char的高效率,要保证该表中不存在varchar字段;否则,应该设为varchar字段。

char

是定长的,

varchar

是变长的。

varchar2

应该是

varchar

的升级,似乎只

ORACLE

才有,这里不作讨论。

char

定长存储,速度快,但是存在一定的空间浪费,适用于字段不是很大,对

速度要求高的场合。

速度快是因为其在物理上是按定长存储的,

这样,

就可以根

据偏移址一次取出固定长度的字符。

varchar

变长存储,所以效率不如

char

varchar

在存储时,在物理上要先存储

该字段的实际长度,然后才是内容。这样读取的时候,就要读取两次,一次读它

的长度,然后才是内容。所以它的访问速度会比

char

慢一些。但它可以节省空

间。

由于

mysql

自身的特点,如果一个数据表存在

varchar

字段,则表中的

char

段将自动转为

varchar

字段。在这种情况下设置的

char

是没有意义的。所以要

想利用

char

的高效率,要保证该表中不存在

varchar

字段;否则,应该设为

varchar

字段。

oracle mysql gbk varchar varchar2的更多相关文章

  1. Oracle之Char VarChar VarChar2

    Oracle之Char VarChar VarChar2 在Oracle数据库中,字符类型有Char.VarChar和VarChar2三种类型,但不大清楚各自区别在哪儿,平时基本上就是用VarChar ...

  2. oracle中char],varchar,varchar2

    VARCHAR.VARCHAR2.CHAR的区别 1.CHAR的长度是固定的,而VARCHAR2的长度是可以变化的, 比如,存储字符串"abc",对于CHAR (20),表示你存储 ...

  3. mysql 的 VARCHAR VARCHAR2

    mysql 里面竟然没有 VARCHAR2 ??

  4. mysql的varchar和oracle的varchar2、nvarchar2

    mysql的varchar长度表示字符长度,一个汉字和一个英文字母的长度都是1 实例:下面name字段定义为varchar(10),可存10个汉字和10个字母 oracle的varchar2长度表示的 ...

  5. Oracle中varchar,varchar2,nvarchar,nvarchar2的区别及其它数据类型描述

    --varchar,varchar2 联系: 1.varchar/varchar2用于存储可变长度的字符串 比如varchar(20),存入字符串'abc',则数据库中该字段只占3个字节,而不是20个 ...

  6. oracle转Mysql中,varchar2(10)和number应该转换为什么类型?

    一. varchar2(10)和number应该转换为什么类型? oracle转成mysql时:varchar2(10)可以转成varchar(10)number则要看oracle中存储的具体是什么类 ...

  7. Oracle中varchar,varchar2,nvarchar,nvarchar2的区别

    --varchar,varchar2 联系:1.varchar/varchar2用于存储可变长度的字符串比如varchar(20),存入字符串'abc',则数据库中该字段只占3个字节,而不是20个字节 ...

  8. oracle转Mysql中,varchar2(10)和number应该转换为什么类型? (转)

    一. varchar2(10)和number应该转换为什么类型? oracle转成mysql时:varchar2(10)可以转成varchar(10)number则要看oracle中存储的具体是什么类 ...

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

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

随机推荐

  1. 不可不知 DDoS的攻击原理与防御方法

    DoS攻击.DDoS攻击和DRDoS攻击相信大家已经早有耳闻了吧!DoS是Denial of Service的简写就是拒绝服务,而DDoS就是Distributed Denial of Service ...

  2. 转载 使用axis2构建webservice

    axis2是可以实现webservice的一个插件,使用这个插件可以发布webservice 1:可以使用这个插件来发布webservice,可以看网址:http://clq9761.iteye.co ...

  3. 从头到尾使用Geth的说明-1-安装

    Geth 1.安装https://github.com/ethereum/go-ethereum/wiki/Installation-Instructions-for-Mac 1.首先先安装Homeb ...

  4. pump模块的学习-metamask

    pump = require('pump') pump简介 https://github.com/terinjokes/gulp-uglify/blob/master/docs/why-use-pum ...

  5. StringRedisTemplate操作redis数据

    StringRedisTemplate与RedisTemplate区别点 两者的关系是StringRedisTemplate继承RedisTemplate. 两者的数据是不共通的:也就是说String ...

  6. xrange 和range的区别

    >>> xrange(5)xrange(5)>>> list(xrange(5))[0, 1, 2, 3, 4]>>> xrange(1,5)xr ...

  7. Python 爬取 11 万 Java 程序员信息竟有这些重大发现!

    一提到程序猿,我们的脑子里就会出现这样的画面: 或者这样的画面: 心头萦绕的字眼是:秃头.猝死.眼镜.黑白 T 恤.钢铁直男-- 而真实的程序猿们,是每天要和无数数据,以及数十种编程语言打交道.上能手 ...

  8. MongoDB的一些CURD操作

    MongoDB的一些增删改查命令操作: 官方文档参考  https://docs.mongodb.com/manual/reference/method/ https://docs.mongodb.c ...

  9. Django 学习 (第五部)

    表设计: from django.db import models # Create your models here. # class Foo(models.Model): # name = mod ...

  10. odoo 10.0部署shell

    环境ubuntu16+nginx+python2.7.12+postgresql9.5+odoo 10.0 community #!/bin/bash #author:guoyihot@outlook ...