关于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类型
关于IsDeleted,Islock,State类型Bit,char(1),tinyint的探讨的更多相关文章
- 无法将类型为“System.Decimal”的对象强制转换为类型“System.Char[]”。
在用微软的SSIS操作ORACLE 数据源的时候碰到以下报错信息: [ADO NET Destination [13455]] 错误: 数据插入期间出现异常,从提供程序返回的消息为:无法将类型为&qu ...
- c++ string类型转换为char *类型
string 是c++标准库里面其中一个,封装了对字符串的操作 把string转换为char* 有3中方法: 1.data 如: string str="abc"; char *p ...
- int类型与char类型的转换
---------siwuxie095 Java对char类型的数据在底层是按int类型来处理的 (只是显示出来仍然是字符型) 1.int类型与char ...
- Docs-.NET-C#-指南-语言参考-关键字-值类型:char
ylbtech-Docs-.NET-C#-指南-语言参考-关键字-值类型:char 1.返回顶部 1. char(C# 参考) 2019/10/22 char 类型关键字是 .NET System.C ...
- 字符串类型:char,varchar,text,enum,set
字符串类型 1.char 格式:char (M) 2.varchar 格式:varchar (M) [注意]M表示允许的字符串长度[65535].M表示的是字符数,而不是字节数.但是最大长度的使用是按 ...
- mysql字符串类型(char,varchar)
原文链接:https://blog.csdn.net/puqutogether/article/details/45648879 MySQL中的字符串有两个常用的类型:char和varchar,二者各 ...
- 关于各种类型数据char、int、double、float 所占空间长度的计算,而char类型让我长姿势了
#include <iostream> int main() { using namespace std; //int A=10; //double B=6; cout << ...
- 数据库字段类型中char和Varchar区别
char和varchar区别 char类型:对英文(ASCII)字符占用1个字节,对一个汉字占用2个字节,char存储定长数据很方便,char字段上的索引效率级高,比如定义char(10),那么不论你 ...
- int(long) 类型转换为char
char类型占一个字节,8位 int类型四个字节32位 (long类型的转换跟int类型相同) #include <stdio.h> ]) { buffer[] = (char)tmp; ...
随机推荐
- Postman学习之【压力测试】
Postman请自行下载 下面是在网上随便抓了一个请求地址来做演示,把请求地址填入地址栏,此请求为GET请求.点击Send发送请求,请求结果将会在下方显示出来.每次的请求历史数据,会被记录下来,但是经 ...
- 码云代码托管平台与TortoiseSVN的使用
1.到https://gitee.com/进行注册,然后登陆 可以发现可以将项目设为私有 2.下载tortoisesvn,一路next安装即可 3.项目创建 4.下载项目 5.创建文件并提交 6.如何 ...
- python内存回收的问题
python实际上,对于占用很大内存的对象,并不会马上释放. 举例,a=range(10000*10000),会发现内存飙升一个多G,del a 或者a=[]都不能将内存降下来.. del 可以删除多 ...
- SQLServer之创建提交读
事务提交读注意事项 语法:set transaction isolation level read committed. 数据库默认的是两个会话事务之间是提交读. READ COMMITTED指定语句 ...
- Java基础系列--02_运算符和程序的语句
运算符: (1)算术运算符: +,-,*,/,%,++,--(加.减.乘.除.取余.自增,自减) ++和--的注意事项: a:他们的作用是自增或者自减 b:使用 1.单独使用 放在操作数据的前面和后面 ...
- windows最简单的局部截图工具
大家写博客的时候应该经常要用截图吧!不知道大家用的都是什么截图工具. 1.最开始我只会键盘的printscreen截图,然后去电脑,附件,画图....总之很多步骤,贼麻烦. 2.然后用电脑玩qq的时候 ...
- python接口自动化-post请求3
一.SSL 证书 https 的请求相对于http安全级别高,需要验证SSL证书import urllib3 使用这个方法就可以了urllib3.disable_warnings() 可忽略警告 二. ...
- 使用jquery模拟请求,测试项目是否存在跨域限制
1.Get 请求 <html> <head><script src="https://cdn.staticfile.org/jquery/1.10.2/jque ...
- Linux:Day9(上) 压缩工具
压缩.解压缩及归档工具 compress/uncompress:.Z # 现在已经很少在见到了 gzip/gunzip:.gz bzip2/bunzip2:.bz2 xz/unxz:.xz # 目前推 ...
- 二)Spring AOP编程思想与动态代理
一.aop编程思想 1.面向切面,就是能够不动源码的情况下,从横切面切入新的代码功能. 2.实现原理是动态代理 动态代理的步骤 a.写生产厂家,实现接口,代理只能代理接口 b.动态代理类实现Invoc ...