关于mysql字符类型的笔记

1.VARCHAR类型并不是越长越好

说明:举个栗子,用varchar(5)和varchar(200)去存储“Hello”时空间开销是一样的,更长的列会消耗更多的内存,MySql通常会分配固定大小的内存块来保存内部值。所以,最好的做法就是需要多少就分配多少。

2.ENUM类型

说明:枚举类型的最终存储类型为整数,而不是字符串;还有,枚举枚举字段是按照内部存储的整数而不是字符串进行排序的,这样可能就会出现非预期的排序结果;考虑到这个问题,应该尽量避免用整数去作为enum的枚举常量,因为它的这种双重性很容易导致混乱。

3.BLOB和TEXT类型

说明:关于这两种类型都是为存储特别大的数据而设计的,区别就是:BLOB是采用二进制方式存储,TEXT是采用字符串的方式存储,二进制存储方式没有字符集和排序规则一说;mysql对这种数据类型的排序方式是采取最前max_sort_length字节而不是整个字符串做排序(max_sort_length是可以去设置大小的)。

4.日期时间类型

说明:mysql能存储的最小时间粒度为秒(除了个别存储引擎外),尽量选用TIMESAMP作为时间日期类型,虽然存储范围比DATETIME小很多,但会带来更高的空间效率;最后,它的默认列为NOT NULL,这点跟其他类型有所不同。
2016.11.24 ByAnjun
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值