关于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做索引后,速度有极大提升。

结论:使用tinyint类型,体积小,取值范围相对较广,便于扩展。

时间: 2024-11-09 01:48:37

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

无法将类型为“System.Decimal”的对象强制转换为类型“System.Char[]”。

在用微软的SSIS操作ORACLE 数据源的时候碰到以下报错信息: [ADO NET Destination [13455]] 错误: 数据插入期间出现异常,从提供程序返回的消息为:无法将类型为"System.Decimal"的对象强制转换为类型"System.Char[]". SQL语句: select A FROM TABLE WHERE B .... 字段A为NUMBER类型,但是数据库中有空值,所以报错,只是报错信息不标准 SQL改为 SELECT case

int类型与char类型的转换

java对char类型的数据在底层是按int类型来处理的 一.int类型与char类型在赋值是可自动转换. 以上可以看出65被自动转换成unicode编所对应的字符,字符B被自动转换成unicode码 二.字符类型的数值可进行数值运算 如上所示,i的结果是66(在代码第5行,i=c+1=65+1=66),c的值为B(代码第8行,c=c+1=65+1=66=B)

int位数的获取及int类型转char *

C语言获取int位数: int intlen(int num){/*参数:要获取长度的int类型数据返回值:返回长度*/ int tmpn=num; int len=1; while(tmpn/=10) len++; return len;} C语言int类型转char *类型: void intostr(char *dest,int num,int intlen){/*参数: dest---将int转换为char *后的存储位置 num---要转换的int类型值 intlen---int类型长

类型“System.String”的对象无法转换为类型“System.Char”。

在机房合作中遇到了这个问题查了很多资料都没有找到相关知识,当然不排除查询不当的缘故.问题出现在类型转化上面,开始的时候以为是转化函数那里出现了问题,于是经过断点调试之后发现没错.排除这个错误之后 尝试第二种可能性,数据库里的字段与vb.net程序里的字段类型不同.但是查询之后发现数据库里的字段根本没有string类型,要想表示字符串可能是char或者是Vchar两种类型.所以数据库中的字符类型是固定死的.在查看了程序中实体层的程序之后发现实体层也是char类型,按道理说应该是相互对应的,错误应该

Docs-.NET-C#-指南-语言参考-关键字-值类型:char

ylbtech-Docs-.NET-C#-指南-语言参考-关键字-值类型:char 1.返回顶部 1. char(C# 参考) 2019/10/22 char 类型关键字是 .NET System.Char 结构类型的别名,它表示 Unicode UTF-16 字符: 类型 范围 大小 .NET 类型 char U+0000 到 U+FFFF 16 位 System.Char 文本 char 类型的常量可以编写为字符文本.十六进制转义序列或 Unicode 表示形式. 也可以将整型字符代码强制转

int(long) 类型转换为char

char类型占一个字节,8位 int类型四个字节32位 (long类型的转换跟int类型相同) #include <stdio.h> int IntToChar(int tmp, char buffer[4]) { buffer[0] = (char)tmp; buffer[1] = (char)(tmp >> 8); buffer[2] = (char)(tmp >> 16); buffer[3] = (char)(tmp >> 24); return 0

关于各种类型数据char、int、double、float 所占空间长度的计算,而char类型让我长姿势了

1 #include <iostream> 2 int main() 3 { 4 using namespace std; 5 //int A=10; 6 //double B=6; 7 cout << sizeof(int) << endl; 8 cout << sizeof(double) << endl; 9 cout << sizeof(float) << endl; 10 cout << sizeof

String 类型与char 类型 输入

1.如果直接用csanf 输入string与char类型的,string是输入不了的 但提前申请空间就可以 #include <stdio.h>#include <string>#include<iostream>using namespace std;int main(){ string a; a.resize(2); //需要预先分配空间,resize()分配空间 scanf("%s", &a[0]); cout << a;

6.float类型 和 char 类型

float32  float64 package main import "fmt" func main() { var xxx float32 var xxxx float64 xxx = -3542341.044434 xxxx = -3542341.044434 fmt.Print(xxx, xxxx) } -3.542341e+06 -3.542341044434e+06 整数位 指数为 golang 没有专门的 char 类型 原文地址:https://www.cnblogs