关于IsDeleted,Islock,State类型Bit,char(1),tinyint的探讨

做IsDeleted,Islock,State时,字段的数据类型选择一般有三种Bit,char,tinyint,大于2个字节的类型我们暂时不考虑,这里以mssql为例。

数据大小​:

Bit,char,tinyint 三种类型均占用一个字节

取值范围:

Bit——只能有两个值,0或1,插入大于1的数字默认转换成1,也就是true。

char(1)——只能是单个字母。

tinyint——从 0 到 255 的整型数据。

分析:

char(1)——用单个字符非数字来做标识的情况我们很少用到,并且该字符做查询的时候需要增加单引号,比较麻烦。

Bit——类型不能做索引,当然通常Bit类型的字段我们也不需要做索引,有些朋友觉的可能会影响到插入速度。

tinyint——可以做索引,我在一个项目中将Bit改成tinyint做索引后,速度有极大提升。

结论:1.有扩展可能性的字段以及需要做索引的字段,使用tinyint类型,体积小,取值范围相对较广,便于扩展。

   2.确定只有两种状态的字段,使用bit类型,只有两种状态的字段不建议做索引反而会降低速度。

IsDeleted,Islock建议用bit类型,State建议用tinyint类型

 

posted @ 2016-06-25 17:30  KempJiang  阅读(1377)  评论(0编辑  收藏  举报