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

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

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

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


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

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


表中的“类型”字段,不会少吧,比如订单有订单类型、取消原因类型等等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了,根本不会考虑效率问题,这是需要重视的。



上一篇:GCC依赖库顺序问题


下一篇:《软件工程方法与实践》—— 第2章 软件过程 2.1 引言