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

本文讨论了在MSSQL中选择Bit、char(1)及tinyint作为IsDeleted、IsLock和State字段的数据类型时的考量因素。分析了每种类型的特点、适用场景以及对索引的影响。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

做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类型

 

转载于:https://www.cnblogs.com/opop/p/5616609.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值