文章目录
0.引言
- 0.引言
- 1. 数据类型的优化
- 1.1 mysql的数据类型
- 1.1.1 整数类型
- 1.1.2 浮点数类型
- 1.1.3 位类型
- 1.1.4 日期类型*
- 1.1.5 字符类型*
- 1.1.6 二进制字符串类型
- 1.1.7 枚举类型*
- 1.1.8 集合类型
- 1.1.9 JSON类型
- 1.1.10 空间数据类型
- 1.2 数据类型优化原则
- 1.2.1 越小越好
- 1.2.2 越简单越好
- 1.2.3 避免为空
- 2. 表结构优化原则
- 2.1 适当的数据冗余
- 2.2 适当的拆分
- 2.3 选择合适的字符集
- 2.4 主键选择
- 总结
一个优秀的开发者在于性能的提升和资源的节约上是会不断追求,不断打磨的,我们在使用mysql时创建表结构时,更是需要我们理解每一种数据类型的区别,并且在不同的业务场景中选择适合的数据类型。
那么我们今天就来谈谈如何来优化表结构
1. 数据类型的优化字段是组成表结构的基础,而针对数据类型做好优化,更是表结构优化的第一步。所以我们先来看如何对数据类型做好选型与优化。
1.1 mysql的数据类型首先我们要知道mysql支持哪些数据类型,这些数据类型之间的区别是是什么,然后我们才能针对不同的场景选择不同的类型。
mysql中一共支持10种数据类型
1.1.1 整数类型整数类型分为以下5种
数据类型大小范围tinyint1字节-128~127smallint2字节-32768~32767mediumint3字节-8388608~8388607int4字节-2147483648~2147483647bigint8字节-9.22*10^18
~9.22*10^18
通过上述我们知道tinyint是在所有整型中占用空间最小的,我们常常看到会用int(n)等形式来表示数据类型,其中的n的含义是该数据类型能够展现的最大宽度,比如10的宽度就是2,100的宽度就是3,n与数据的存储大小不相关,也就是说int(1)与int(11)所占用的空间都是4字节
1.1.2 浮点数类型mysql中浮点类型有以下3种
数据类型大小float4字节double8字节decimal (m,n)取决于m,ndecimal的大小取决于m,n的值,m表示整个数值的数字长度,n表示小数部分的数字长度,默认4个字节可以存储9个数字,小数点占1个字节,不满9个数字时占用大小如下所示
数字个数大小1,21字节3,42字节5,63字节7,84字节举个例子:decimal(19,4),19/9=2…1,2*4=8字节,1个数字占1字节,再加上小数点1字节,所以总共占8+1+1=10字节
需要注意的是:mysql规定m
关注
打赏
热门博文
- IO多路复用器 select, epoll发展历程,工作原理,区别
- mysql进阶:canal实现跨机房数据同步|主从数据同步
- 连夜整理了多年后端开发最常用linux指令(建议收藏,边用边学)
- JAVA:如何优雅地书写if-else(策略模式、函数式接口、卫语句)
- 企业级GIT分支管控方案
- spring cloud tencent:基于polaris手把手搭建微服务框架(附带源码)(二)
- mac pro M1(ARM)安装:ftp远程文件互传工具
- 软件开发者必备的15款mac软件
- spring data elasticsearch:复杂查询指南
- spring data elasticsearch: 设置保活策略|长时间不连接es,报错超时连接