高性能mysql(读书笔记)-数据类型优化(待续)

DDL选择优化的数据类型的原则

1.选择可以正确存储数据的最小数据类型
更小的数据类型通常占用更少的磁盘,内存和cpu缓存,处理时需要的cpu周期也更小
2.选择简单的数据类型(比如使用mysql的内建类型储存日期和类型)
简单数据类型的操作通常需要更下的cpu周期
3.避免使用NULL
可为NULL的列会使用更多的储存空间,此列为索引列时每个索引记录都需要一个额外的字节
但是InnoDB会使用单独的位储存NULL值,所以对稀疏数据有很好的空间效率

整数

高性能mysql(读书笔记)-数据类型优化(待续)_第1张图片
image.png

注:mysql可以整数类型指定宽度int(11),通常是没有意义的,它不会限制值的合法范围,只是规定可mysql的一些交互工具用来显示字符的个数

实数

高性能mysql(读书笔记)-数据类型优化(待续)_第2张图片
image.png

mysql内部使用DOUBLE作为内部浮点计算的类型

因为需要额外的空间和计算开销,所以尽量在对小数进行精确计算时才使用DECIMAL
数据量大时可以考虑使用bigint替换浮点类型和DECIMAL,比如精确到分 原数据X100即可,这样既避免了浮点储存计算不精确和DECIMAL精确计算代价大的问题

字符串类型

高性能mysql(读书笔记)-数据类型优化(待续)_第3张图片
image.png

大文本

image.png

你可能感兴趣的:(高性能mysql(读书笔记)-数据类型优化(待续))