数据表设计优化

/ Java / 0 条评论 / 1339 浏览

1、数据类型:应该选择更简单或者占用空间更小的类型。

整型选择:可以根据长度选择 tinyint、smallint、medium_int,而不是直接使用 int。
字符串选择:能确定字符串长度的,尽量使用 char 类型,而不是变长的 varchar 类型。
浮点型选择:精度要求比较高的使用 decimal 而不是 double;也可以考虑使用 BIGINT 来保存,小数位保存可以使用乘以整百来解决。
日期选择:尽量使用 timestamp 而不是 datetime。

2、避免空值:

NULL 值依然会占用空间,并且会使索引更新更加复杂,更新 NULL 时容易发生索引分裂的现象。
可以使用有意义的值来代替 NULL 值,例如 “none” 字符串等等。

3、超长字符串:

一般超长字符串,varchar 难以存储,我们一般会使用 text 类型。
但是 text 类型的字段尽量避免放在主表中,而是抽出来在子表里,用业务主键关联。

———————————————— 版权声明:本文为CSDN博主「不送花的程序猿」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。 原文链接:https://blog.csdn.net/Howinfun/java/article/details/106019231