char/nchar/varchar/nvarchar/varchar2之间如何选择使用?

1、varchar:   可变长度的非    Unicode   字符数据,最长为    8,000    个字符。  
2、nvarchar:   可变长度的    Unicode    字符数据,其最大长度为    4,000    字符。  
3、char:        固定长度的非 Unicode 字符数据,最大长度为 8,000 个字符。
4、nchar:       固定长度的 Unicode 字符数据,最大长度为 4,000 个字符。
5、varchar2:        oracle独有的字符数据类型;目前VARCHAR是VARCHAR2的同义词。工业标准的VARCHAR类型可以存储空字符串,但是oracle不这样做,尽管它保留以后这样做的权利。Oracle自己开发了一个数据类型VARCHAR2,这个类型不是一个标准的VARCHAR,它将在数据库中varchar列可以存储空字符串的特性改为存储NULL值。如果你想有向后兼容的能力,Oracle建议使用VARCHAR2而不是VARCHAR。

对比:

1、固定长度的char和nchar的速度比可变长度的varchar和nvarchar要快

2、可变长度的varchar和nvarchar比固定长度的char和nchar的空间占用小

3、如果数据量很大,又能100%确定长度且保存只是ansi字符时,使用char

4、如果能确定长度又不一定是ansi字符时,使用nchar

5、如果不能确定长度,需要查询并且使用索引时,使用nvarchar,长度设置不要超过400,否则索引失效

6、如果不确定长度,又不一定是ansi字符时,又不需要利用索引查询时,使用nvrchar(4000)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值