数据库数据类型怎么选择最优

我有一百万条记录,某个字段,绝大多数(约99%)的数据都是13个字符,只有很奇葩的极少一部分(约1%)是26个字符,这种情况我要怎么选择数据类型。注:都是字母和数字组成。那么我应该用什么数据类型,或者我还需要考虑什么其他的因素?

什么数据库?如果是MySQL,就使用varchar类型,定义为varchar(n)。如果是Oracle,就使用varchar2类型,定义为varchar2(n)。这个数据类型的意思是变长度的字符串,括号中的n是最大长度。如果实际的数据长度小于括号中的定义长度,则占用空间为实际数据长度。一般可以把n取的大一些,确保为这个字段可能的最大长度。追问

sql server 我只是听说varchar和char比 ,性能会差些,但不知道具体差在哪里,所以我纠结的实际上也就是这个问题,不知道什么情况下适合用varchar,什么时候适合用char。

追答

性能主要差在建立索引的时候,但是你只有一百万条数据,其实查不了多少。

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2016-08-28
  选择原则:根据选定的存储引擎,确定如何选择合适的数据类型。
下面的选择方法按存储引擎分类:
  MyISAM 数据存储引擎和数据列:MyISAM数据表,最好使用固定长度(CHAR)的数据列代替可变长度(VARCHAR)的数据列。
  MEMORY存储引擎和数据列:MEMORY数据表目前都使用固定长度的数据行存储,因此无论使用CHAR或VARCHAR列都没有关系。两者都是作为CHAR类型处理的。
  InnoDB 存储引擎和数据列:建议使用 VARCHAR类型。