数据库设计之数据库tinyint字段与Int字段的使用

简介: SQL SERVER中的tinyint:从 0 到 255 的整型数据。存储大小为 1 字节。SQL SERVER中的Smallint: 存储大小为 2 字节。

SQL SERVER中的tinyint从 0 到 255 的整型数据。存储大小为 1 字节。

SQL SERVER中的Smallint: 存储大小为 2 字节。

SQL SERVER中的int存储大小为 4 字节。


我看了下我们现有的系统,表数量有400张。



表中的“类型”字段,不会少吧,比如订单有订单类型、取消原因类型等等10来个类型字段,(这些类型,最多有10多个值,再加也多不到哪去),其他的虽然少,但是一个表最少有1个吧,算这400多个表“类型”字段一共500个吧,我们来算一下数据空间的差别(假设数据都是500万条):

使用tinyint:5000000*1*500/1024/1024 = 2384MB

使用int:5000000*4*500/1024/1024 =  9537MB

光数据存储,相差就是几个G,还有数据库日志呢,绝对不会比数据少(现在生产环境数据已经差不多到达1000多万了)


字段大,对于数据库查询、数据传输等方面都会有很大影响的,所以不要小看 Int和tinyint类型的选择!我们系统很多都是开发者自己建立的数据库表,int在和程序中方便使用,直接用Int了,根本不会考虑效率问题,这是需要重视的。



相关文章
|
1月前
|
SQL 流计算 OceanBase
OceanBase CDC从热OB库采集过来的Tinyint(1)类型会默认转换成Boolean,请教一下,如果想转换成int类型,有什方法么?
【2月更文挑战第25天】OceanBase CDC从热OB库采集过来的Tinyint(1)类型会默认转换成Boolean,请教一下,如果想转换成int类型,有什方法么?
25 3
|
3月前
|
关系型数据库 MySQL 数据库
往数据库的字段varchar 或datetime里存时间值
往数据库的字段varchar 或datetime里存时间值
118 0
|
6月前
|
前端开发 Java 关系型数据库
【Mybatis-Plus】mybatisplus更新时,实体字段为空,数据库不更新的解决方案
【Mybatis-Plus】mybatisplus更新时,实体字段为空,数据库不更新的解决方案
247 0
|
3月前
|
NoSQL Java 关系型数据库
基于Java swing和mysql实现酒店管理系统(源码+数据库+运行指导视频+系统用户使用手册+系统PPT+数据库设计说明书+系统概要说明书+需求说明书+详细说明书)
基于Java swing和mysql实现酒店管理系统(源码+数据库+运行指导视频+系统用户使用手册+系统PPT+数据库设计说明书+系统概要说明书+需求说明书+详细说明书)
|
13天前
|
存储 关系型数据库 MySQL
MySQL数据库性能大揭秘:表设计优化的高效策略(优化数据类型、增加冗余字段、拆分表以及使用非空约束)
MySQL数据库性能大揭秘:表设计优化的高效策略(优化数据类型、增加冗余字段、拆分表以及使用非空约束)
|
2月前
|
SQL 数据库管理
sqlite语句order by两个字段同时排序处理
sqlite语句order by两个字段同时排序处理
19 0
|
2月前
|
存储 关系型数据库 MySQL
MySQL技能完整学习列表4、数据库设计——2、数据库规范化(Normalization)——3、实体-关系模型(ER Modeling)
MySQL技能完整学习列表4、数据库设计——2、数据库规范化(Normalization)——3、实体-关系模型(ER Modeling)
55 0
|
7月前
|
存储 数据库
ABAP 数据库表 Size Category 字段的准确含义
ABAP 数据库表 Size Category 字段的准确含义
59 0
|
3月前
|
存储 安全 数据库
电商管理系统的数据库设计思路和数据库代码
电商管理系统的数据库设计思路和数据库代码
52 0
|
3月前
|
SQL 关系型数据库 MySQL
数据库字段基本类型
数据库字段基本类型
48 0

热门文章

最新文章