MySQL——关于数据类型的一些基本优化原则

本文主要探讨MySQL数据类型的优化原则,包括整数、实数、字符串、BLOB和TEXT、枚举、日期和时间以及位数据类型的选择。强调了选择最小合适的数据类型,避免NULL,以及如何针对不同场景优化字符串和日期类型。对于标识符,推荐使用整数类型,避免使用ENUM和SET,字符串类型则需权衡存储和性能。
摘要由CSDN通过智能技术生成

数据类型优化

优化原则

越小越好:使用可以正确存储数据的最小数据类型

简单就好

尽量避免NULL:可为NULL的列使得索引、索引统计和值比较都更复杂

为列选择数据类型的顺序

第一步:确定合适的大类型:数字、字符串、时间等

第二步:选择具体类型

整数类型

如果存储整数,可以使用:TINYINT,SMALLINT,MEDIUMINT,INT,BIGINT

整数运算一般使用64位的BIGINT整数,MySQL为整数指定宽度没有意义,只是规定了MySQL的一些交互工具用来显示字符的个数

实数类型

可以使用DECIMAL存储比BIGINT还大的整数

MySQL既支持精确类型,也支持不精确类型

FLOAT和DOUBLE类型支持使用标准的浮点运算进行近似计算

DECIMAL类型用于存储精确的小数

浮点和DECIMAL类型都可以指定精度

浮点类型在存储同样范围的值时,通常比DECIMAL使用更少的空间

因为需要额外的空间和计算开销,所以应该尽量只在对小数进行精确计算时才使用DECIMAL

但在数据量比较大的时候,可以考虑使用BIGINT代替DECIMAL,将需要存储的货币单位根据小数的位数乘以相应的倍数即可,这样可以同时避免浮点存储计算不精确和DECIMAL精确计算代价高的问题

字符串类型

VARCHAR

VARCHAR比定长类型更节省空间,因为它仅使用必要的空间,除

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值