伍尚金

数据库的varchar和nvarchar的区别

发表于:2019/8/16 12:34

搞了一个上午,自己测试看懂的一点点小东西,现在记录下来....



数据库的varchar和nvarchar的区别

首先内存上:1--8000  1--4000


中文以及韩文日文等一个字符为两个字节,英文以及数字等一个字符为一个字节


varchar内存的解析:是所输入的数据的实际长度(字节数)

例如:

create table UserInfo
(
userID int not null primary key identity(1,1),
userName varchar(5)
)
insert into UserInfo values('请问');--4个字节
insert into UserInfo values('请问e');--5个字节
insert into UserInfo values('wesdg');--5个字节


nvarchar:是varchar所输入的字节的两倍,相当于varchar(2)只能存‘我’,而nvarchar(2)可以存放‘我是’ 

意思就是把文字当作长度来处理,虚拟的直接把两个字节的字节变成一个字节计算

直接上代码

create table UserInfo
(
userID int not null primary key identity(1,1),
userName nvarchar(5)
)
insert into UserInfo values('请问撒旦个');--10个字节
insert into UserInfo values('abcde');--5个字节


所以为了节省空间一般如果是存放中文,建议使用nvarchar比较提高效率,给数据库减少内存空间


另外,char和nchar也是与上面的varchar和nvarchar一模一样,但是该类型不会收回剩余的空间,对于的内存空间会以空格字符串的形式填充

char:

nchar:


所以建议不是很多的字符串可以考虑用char,nchar,例如性别等。


关于TNBLOG
TNBLOG,技术分享
App store Android
精彩评论
{{item.replyName}}
{{item.content}}
{{item.time}}
{{subpj.replyName}}
@{{subpj.beReplyName}}{{subpj.content}}
{{subpj.time}}
猜你喜欢