数据表设计优化 Published on May 9, 2020 in Java with 0 comment Mysql 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 本文由 admin 创作,采用 知识共享署名4.0 国际许可协议进行许可。本站文章除注明转载/出处外,均为本站原创或翻译,转载前请务必署名。