1,char--char存储定长数据很方便,char字段上的索引效率级高,比如,char(10),不论你存储的数据是否达到了10个字节,都要占去10个字节的空间.
2,varchar--存储变长数据,但存储效率没有char高.如果一个字段可能的值是不固定长度的,我们只是知道它的长度不会超过10个字符,把它定义为varchar(10)是最合算的.varchar类型的实际长度是它值的实际长度+1.最后这个+1的字节是用来保存实际使用了多大的长度.
3,text---存储可变长度的非Unicode数据.
4,nchar,nvarchar,ntext---它表示存储的是Unicode数据类型的字符.
Unicode字符集:在字符中,英文一个字母占一个字节,但一个汉字却是占两个字符.为了避免中英文同时存在的时候产生混乱.就出现了Unicode字符集.它的所有字符都是两个字节表示,英文一个字母也是用两个字节表示.nchar、nvarchar的长度是在1到4000之间。和 char、varchar比较起来,nchar、nvarchar则最多存储4000个字符,不论是英文还是汉字;而char、varchar最多能存储 8000个英文,4000个汉字.
所以一般来说,如果有中文字符,用nchar/nvarchar,如果纯英文和数字,用char/varchar。
SQL数据库中char,varchar,text,nchar,nvarchar,ntext的区别
最新推荐文章于 2024-10-17 10:02:06 发布