首页 > 数据库技术 > 详细

oracle mysql gbk varchar varchar2

时间:2017-11-06 14:26:25      阅读:224      评论:0      收藏:0      [点我收藏+]

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

原文:http://www.cnblogs.com/rgqancy/p/7792906.html

踩
(0)
赞
(0)
   
举报
评论 一句话评论(0)
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!