列类型的选择
1. 为什么要学习列类型的选择
因为选择适当的列类型可以提升我们SQL语句的性能, 也可以提升我们空间使用率, 也可以提升我们IO一次性读取的数量
2. 数值类型的选取

工作中基本都使用double来进行操作, 我们在工作中的时候, 最少保留2位小数, 偶尔可以保留3位小数
但是一定要确定你的单位(如: 万结尾) 一定要去访问清除. 特性是重要的东西, 一定要交流清除, 确定之后来进行操作
3. 字符串类型的选取

字符串的char与varchar的存储的数据与字符集合有关系
char: 不区别字符集, 都可以存储255个字符. 只是确定是占用的长度不一样, char使用gbk的时候, 存255个字符的时候, 占用的是255*2的长度
varchar: 存储数据和字符集有关系了
utf8的可以存储的字符是: 65535/3 = 21844
gbk的可以存储的字符是: 65535/2 = 32766
例:
name varchar(10) 这个是10个字符

这上面就说明了2个汉字, 占了6个字节
继续, 写入20个汉字:
insert into myisam values (null, '张三张三张三张三张三张三张三张三张三张三张三张三张三张三', 13, 1 , 'fasdf');

超过了设置的字符长度就会自动截取
也充分的证明了varchar(20): 是字符的数量
4. 时间类型的选取

整个时间工作中很少使用, 基本上都转换成了int来进行存储的
但是有的项目确实需要这个时间, 就是用
mysql: unix_timestamp();

5. 枚举类型与集合类型
set与enum类型, 这个在工作使用的特别少
因为set与enum类型底层也是使用的数字来实现

浙公网安备 33010602011771号