MySQL存储字符串可以有char, varchar和text三种类型. 而text一般都是用来存储大文本(如商品的描述)数据. 但是char 和 varchar存储string字符串时有何区别呢?
- char(n)中的n是字符数, 范围是0~255(额外需要1到2个字节来存长度)
- varchar(n)中的n也是字符数,但是最大值需要通过编码来算, 不能超过65535字节(从中还需要拿出1到2个字节来存长度)
一般定长的数据选用char类型, 比如身份证号, 手机号, 电话等. 长度变化很大的可以使用varchar类型
经测试, 100万条的数据, char和varchar的数据类型, 无论是否添加索引, varchar的搜索都要更快一点
然后分别根据表中的两个字段进行查询