varchar2最大长度sql中varchar(n),nvarchar(n)长度性能及所占空间分析sql中varchar(n),nvarchar(n) 长度性能及所占空间分析
1、varchar(n),nvarchar(n) 中的n怎么解释:
nvarchar(n)最多能存n个字符,不区分中英⽂。
varchar(n)最多能存n个字节,⼀个中⽂是两个字节。
2、所占空间:
nvarchar(n)⼀个字符会占两个字节空间。
varchar(n)中⽂占两字节空间,英⽂占⼀个。
3、n的取值范围:
nvarchar(n) n的范围是:1与4000之间
varchar(n) n的范围是:1与8000之间
4、n的⼤⼩是否会影响性能:
varchar及nvarchar⾥的长度 n 不会影响空间⼤⼩及性能。除⾮n是max并且内容⼤于4000或8000
设置n更多的是业务需要,如限制⾝份证只能输⼊18位,再多就报错,或者防⽌恶意攻击撑爆硬盘。对空间及性能都没有影响
5、n设置多⼤⽐较好:
既然对空间及性能都没有影响,那我们只要考虑业务需要就可以了,我分析过微软的数据库,⼤都设置为:256,也会看到
64,128,512,max等,可能是便于记忆吧。
6、varchar(n),nvarchar(n)存储空间举例解释:
包含 n 个字符的可变长度 Unicode 字符数据。字节的存储⼤⼩是所输⼊字符个数的两倍。
两字段分别有字段值:我和coffee
那么varchar字段占2×2+6=10个字节的存储空间,⽽nvarchar字段占8×2=16个字节的存储空间。
如字段值只是英⽂可选择varchar,⽽字段值存在较多的双字节(中⽂、韩⽂等)字符时⽤nvarchar。
7、varchar和nvarchar如何选择?
varchar在SQL Server中是采⽤单字节来存储数据的,nvarchar是使⽤Unicode来存储数据的.中⽂字符存储到SQL Server中会保存为两个字节(⼀般采⽤Unicode编码),英⽂字符保存到数据库中,如果字段的类型为varchar,则只会占⽤⼀个字节,⽽如果字段的类型为nvarchar,则会占⽤两个字节.
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论