数据库设计之数据库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了,根本不会考虑效率问题,这是需要重视的。



相关文章
|
2月前
|
SQL 流计算 OceanBase
OceanBase CDC从热OB库采集过来的Tinyint(1)类型会默认转换成Boolean,请教一下,如果想转换成int类型,有什方法么?
【2月更文挑战第25天】OceanBase CDC从热OB库采集过来的Tinyint(1)类型会默认转换成Boolean,请教一下,如果想转换成int类型,有什方法么?
50 3
|
2月前
|
存储 SQL 数据库
数据库设计案例:电商系统数据库设计实践
数据库设计案例:电商系统数据库设计实践
243 1
|
2月前
|
存储 关系型数据库 数据库
关系型数据库数据库设计
关系型数据库设计是一个综合考虑多个方面的过程。在设计过程中,我们需要遵循一系列原则和实践,以确保数据库能够满足业务需求、保证数据的安全性和一致性,并具备良好的可伸缩性和可扩展性。
90 5
|
2月前
|
DataWorks Oracle 关系型数据库
DataWorks操作报错合集之尝试从Oracle数据库同步数据到TDSQL的PG版本,并遇到了与RAW字段相关的语法错误,该怎么处理
DataWorks是阿里云提供的一站式大数据开发与治理平台,支持数据集成、数据开发、数据服务、数据质量管理、数据安全管理等全流程数据处理。在使用DataWorks过程中,可能会遇到各种操作报错。以下是一些常见的报错情况及其可能的原因和解决方法。
49 0
|
2月前
|
存储 关系型数据库 MySQL
MySQL数据库性能大揭秘:表设计优化的高效策略(优化数据类型、增加冗余字段、拆分表以及使用非空约束)
MySQL数据库性能大揭秘:表设计优化的高效策略(优化数据类型、增加冗余字段、拆分表以及使用非空约束)
|
1月前
|
SQL 关系型数据库 MySQL
MySQL数据库——索引(4)-SQL性能分析-profile详情、explain(profile查看指令,explain执行计划中各个字段的含义)
MySQL数据库——索引(4)-SQL性能分析-profile详情、explain(profile查看指令,explain执行计划中各个字段的含义)
25 2
|
2月前
|
监控 关系型数据库 数据库
关系型数据库识别常查询字段
【5月更文挑战第20天】
34 4
|
2月前
|
监控 关系型数据库 数据库
|
2月前
|
存储 监控 关系型数据库
关系型数据库数据库设计优化
【5月更文挑战第18天】关系型数据库数据库设计优化
34 1
|
2月前
|
SQL 关系型数据库 MySQL
mysql 数据库查询 查询字段用逗号隔开 关联另一个表并显示
mysql 数据库查询 查询字段用逗号隔开 关联另一个表并显示
53 2