MySQL基本数据类型优化

目录

1、更小的通常更好

2、尽量避免NULL

3、简单就好

4、整数类型

5、实数类型

6、CHAR与VARCHAR如何选择

7、命名规范


1、更小的通常更好

一般应该选择正确的存储类型最小的数据类型。因为较小的数据类型占用空间内存更小,也可以说相同的空间能存放的数据更多,这个也是影响查询效率的一个重要因素。

比如:是有一个类型既可以用字符串也可以使用整型,优先选择整型。因为字符串牵涉到了字符集及校对规则等。

2、尽量避免NULL

通常情况最好为数据库表,指定列为NOT NULL。因为可为NULL的列使得索引、索引统计和值比较都更复杂。可为NULL的列会使用更多的存储空间。

3、简单就好

因为简单的数据类型所需的CPU周期更少。比如最好使用MySQL内置的时间类型,而不是使用字符串来存储时间。

4、整数类型

存储整数,可以使用这几种整数类型:TINYINT,SMALLINT,MEDIUMINT,INT,BIGINT。

数据类型占用字节
TINYINT 1
SMALLINT 2
MEDIUMINT 3
INT 4
BIGINT 8

如果数据不区分正负,最好选择为UNSIGNED无符号,相同的存储空间能够存储更多的整数范围。MySQL中没有long型,对应的只有bigint

5、实数类型

DECIMAL对于列的空间消耗比较大 ,在精度不敏感和需要快速运算的时候,选择FLOAT和 DOUBLE。应该尽量只在对小数进行精确计算时才使用DECIMAL。

但在数据量比较大的而且要求精度时,可以考虑使用BIGINT代替DECIMAL,将需要存储的货币单位根据小数的位数乘以相应的倍数进行存储。

6、CHAR与VARCHAR如何选择

CHAR:通常固定长度的数据,比如MD5密码加密数据,T和F就比较使用使用CHAR(1),如果使用VARCHAR会产生一个额外的字节长度。经常更新的列也比较适合使用CHAR类型,数据比较小的也使用此类型。
VARCHAR:可变长度。每个字符都使用不同的字节数进行存储 。通常经常更新的列不适合使用可变长度,可能会产生内存碎片。其实VARCHAR(5)和VARCHAR(200)存储'hello'在磁盘空间上开销是一样的。但是最好是只分配真正需要的空间 。

7、命名规范

  • 数据库、表、字段的命名要遵守可读性原则,尽可能少使用或者不使用缩写。
  • 表名、字段名必须使用小写字母或数字。 说明:MySQL在Windows下不区分大小写,但在Linux下默认是区分大小写。因此,数据库名、表名、字段名,都不允许出现任何大写字母
  • 表名不使用复数名词
  • 数据库、表、字段的命名禁用保留字,如desc、range、match之类
  • 主键索引名为pk字段名;唯一索引名为uk字段名;普通索引名则为idx_字段名
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值