varchar(n),nvarchar(n)区别
来源:互联网 发布:如何做好淘宝卖家 编辑:程序博客网 时间:2024/05/12 03:10
nvarchar(n)最多能存n个字符,不区分中英文。
varchar(n)最多能存n个字节,一个中文是两个字节。
所占空间:
nvarchar(n)一个字符会占两个字节空间。
varchar(n)中文占两字节空间,英文占一个。
举例,两字段分别有字段值:我和coffee
那么varchar字段占2×2+6=10个字节的存储空间,而nvarchar字段占8×2=16个字节的存储空间
n的取值范围:
nvarchar(n) n的范围是:1与4000之间
varchar(n) n的范围是:1与8000之间
n的大小是否会影响性能:
varchar及nvarchar里的长度 n 不会影响空间大小及性能。除非n是max并且内容大于4000或8000
设置n更多的是业务需要,如限制身份证只能输入18位,再多就报错,或者防止恶意攻击撑爆硬盘。对空间及性能都没有影响。
varchar和nvarchar如何选择?
varchar在SQL Server中是采用单字节来存储数据的,nvarchar是使用Unicode来存储数据的.中文字符存储到SQL Server中会保存为两个字节(一般采用Unicode编码),英文字符保存到数据库中,如果字段的类型为varchar,则只会占用一个字节,而如果字段的类型为nvarchar,则会占用两个字节.
如果布署的主机是英文操作系统,并且不支持中文环境,那问题就出来了.所有的varchar字段在存储中文的时候都会变成乱码(显示为??).
使用nvarchar的另一个非常好处就是在判断字符串的时候可以不需要考虑中英文两种字符的差别.
当然,使用nvarchar存储英文字符会增大一倍的存储空间.但是在存储代价已经很低廉的情况下,优先考虑兼容性会给你带来更多好处的.
所以在Design的时候应该尽量使用nvarchar来存储数据.只有在你确保该字段不会保存中文的时候,才采用varchar来存储。
来源http://www.cnblogs.com/flqcchblog/p/4560781.html
- varchar(n),nvarchar(n)区别
- MySQL数据库数据类型(char(n),varchar(n),nchar(n),nvarchar(n)的区别)
- DBA30问之CHAR(N),NCHAR(N),VARCHAR(N),NVARCHAR(N)四种类型之间的区别
- varchar[(n)] 和nvarchar(n) 及使用unicode的意义
- nchar[(n)], nvarchar[n|max], char[(n)], varchar[(n|max)] 详解
- 字段类型char(n)、varchar(n)区别
- oracle中varchar(N)和varchar(N char)的区别
- nvarchar和varchar区别
- nvarchar varchar区别
- char varchar nvarchar 区别
- varchar和Nvarchar区别
- varchar和nvarchar区别
- varchar和Nvarchar区别
- char,varchar,nvarchar区别
- varchar和Nvarchar区别
- varchar和Nvarchar区别
- varchar和Nvarchar区别
- varchar和Nvarchar区别
- JAX-WS 和 Spring 整合开发步骤:
- 单选checkbox
- elasticsearch5.5安装head插件
- 云计算的三种服务模式
- List--Java.lang.NullPointerException--空指针异常
- varchar(n),nvarchar(n)区别
- Spring Cloud 分布式微服务云架构
- 大数据时代:十大最热门的大数据技术
- friend ostream &operator<<(ostream &stream, const Date& dt);
- FlyBanner轮播图
- mysql 获得类似排名的序号
- 领域应用 | 中医临床知识图谱的构建与应用
- 自然语言解释:约瑟夫环之递归算法
- 推荐一个在线编程的网站