数据表设计优化

warning: 这篇文章距离上次修改已过536天,其中的内容可能已经有所变动。

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

0

版权声明 ▶ 本网站名称:我的学习笔记
▶ 本文链接:https://ooolo.net/article/111.html
▶ 本网站的文章部分内容可能来源于网络,仅供大家学习与参考,如有侵权,请联系站长进行核实删除。
▶ 转载本站文章需要遵守:商业转载请联系站长,非商业转载请注明出处!!!

最后修改于:2023年04月28日 17:16

添加新评论

icon_mrgreen.pngicon_neutral.pngicon_twisted.pngicon_arrow.pngicon_eek.pngicon_smile.pngicon_confused.pngicon_cool.pngicon_evil.pngicon_biggrin.pngicon_idea.pngicon_redface.pngicon_razz.pngicon_rolleyes.pngicon_wink.pngicon_cry.pngicon_surprised.pngicon_lol.pngicon_mad.pngicon_sad.pngicon_exclaim.pngicon_question.png