sql 中4个汉字用char(10)还是varchar(8)

如题所述

第1个回答  2016-01-14
用nvarchar(4)
第2个回答  2016-01-14
一般认为varchar的效率低于char,因为varchar会在insert的时候判断字段长度,进行取舍,其实这部分的优化各厂商都在做,现在看来没相差多少(至少从处理千万级来看,没感觉出什么来,当然可能和数据仓库update少有关)。
四个汉字,按照一般理解为8字节,如果汉字个数为1,2,3,4个,那么按照空间考虑用varchar(8)好一点。当然,说是能节省空间,其实剩不下多少,除非数据量特别大,可能才能看出来。
如果仅仅保存4个汉字,没有其他个数,那么为什么不用char(8),这样不就正好了么?
还有一种情况选择char,就是update较多的情况,这种情况下,选择char比varchar2好一些。追问

只有这两种

本回答被网友采纳
第3个回答  2016-01-13
一般用varchar
第4个回答  2016-01-13
建议使用后者追问

考试试题选择那个

追答

第二个

追问

确定???

追答

如果确定是4个汉字的话选第一个,不确定是4个选第二个

varchar在超出范围时可以自动扩展,char是固定的空间。

追问

最长是4个汉字,

那选择那个?

追答

选第一个

追问

确定?

追答

确定

追问

能解释下嘛

追答

固定长度,使用固定空间不会有太多的冗余

系统开销要少一些

追问

最长4个汉字,占8字节,varchar(8)占的空间比char(10)多???

追答

如果要考虑空间,选varchar(8),如果考虑效率的话,选char(10)

追问

考试只有这两个选项,选那个

本回答被提问者采纳
相似回答