ABC原则助你选择合适的数据类型


        在数据库中,不论是关系型数据库还是大数据等,面对数据类型选择的时候ABC原则都适用。
        ABC原则,即Appropriate(合适的)、Brief(消耗最少的资源)、Complete(数据不可丢失)帮助我们更好地选择数据类型。

Appropriate(合适的)

选择合适的数据类型是确保数据存储和检索效率的关键。不同的应用场景和数据特性需要不同的数据类型。
常见的错误是:将明明是int类型的数据存储成varchar类型,因为varchar能包罗万象。但是这样做不仅在理解上造成困扰,还对数据的存储空间,检索效率都造成了一定的负面影响。
在选择合适的数据类型时,还需要考虑数据的精度和范围,以避免浪费存储空间或造成数据截断。

Brief(消耗最少的资源)


数据库系统的性能直接受到数据类型选择的影响。为了确保系统的高效运行,应选择消耗最少资源的数据类型。

例如:

1. 在存储日期和时间信息时,使用TIMESTAMP而不是CHAR(19),因为TIMESTAMP在存储和检索时消耗更少的存储和计算资源。
2. 避免过度使用大型数据类型,例如使用VARCHAR(4000)来存储最大长度为100的字符串。这种不恰当的选择会导致存储资源的浪费,并可能降低查询性能。在保证数据准确性的前提下,选择适当大小的数据类型是关键的。

3. 在整数类型上也可以选择尽量小的数据类型,例如对单个数字可以使用tinyint,而不是int

如mysql中的整型数据类型,ps: mysql的设计规范可以参考另一篇博文:MySQL设计和开发规范

整型

占用字节

范围

范围

tinyint

1

-27~27-1

-128~127

smallint

2

-215~215-1

-32768~32767

mediumint

3

-223~223-1

-8388608~8388607

int

4

-231~231-1     

-2147483648~2147483647

bigint

8

-263~263-1

4. 如果数字确保是正数或0,可以使用 unsigned 标识,unsigned相对于signed可以多出一倍的存储空间,如 signed int -2147483648~2147483647 , unsigned int 0~4294967295

Complete(数据不可丢失)


数据完整性是数据库设计的一个基本原则。

例如

1. 在存储金额或货币值时,使用DECIMAL而不是浮点数类型,以避免由于浮点数的精度问题导致的金额计算错误。

2. 对于必填字段,应该选择不允许NULL值的数据类型,以确保数据的完整性。

通过ABC原则确保数据类型的合适性、经济性和完整性,可以为数据库系统的性能和可靠性做出积极的贡献。

  • 20
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

五只鸭子

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值