文章目录
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
关注
打赏
最近更新
- 深拷贝和浅拷贝的区别(重点)
- 【Vue】走进Vue框架世界
- 【云服务器】项目部署—搭建网站—vue电商后台管理系统
- 【React介绍】 一文带你深入React
- 【React】React组件实例的三大属性之state,props,refs(你学废了吗)
- 【脚手架VueCLI】从零开始,创建一个VUE项目
- 【React】深入理解React组件生命周期----图文详解(含代码)
- 【React】DOM的Diffing算法是什么?以及DOM中key的作用----经典面试题
- 【React】1_使用React脚手架创建项目步骤--------详解(含项目结构说明)
- 【React】2_如何使用react脚手架写一个简单的页面?