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