您的位置:首页 > 运维架构

An overview of Openvswitch implementation

2013-03-01 14:44 393 查看
SQL Server数据类型:

第一大类:整数数据

bit:bit数据类型代表0,1或NULL,就是表示true,false.占用1byte.

int:以4个字节来存储正负数.可存储范围为:-2^31至2^31-1.

smallint:以2个字节来存储正负数.存储范围为:-2^15至2^15-1

tinyint: 是最小的整数类型,仅用1字节,范围:0至此^8-1

第二大类:精确数值数据

numeric:表示的数字可以达到38位,存储数据时所用的字节数目会随着使用权用位数的多少变化.

decimal:和numeric差不多

第三大类:近似浮点数值数据

float:用8个字节来存储数据.最多可为53位.范围为:-1.79E+308至1.79E+308.

real:位数为24,用4个字节,数字范围:-3.04E+38至3.04E+38

第四大类:日期时间数据

datatime:表示时间范围可以表示从1753/1/1至9999/12/31,时间可以表示到3.33/1000秒.使用8个字节.

smalldatetime:表示时间范围可以表示从1900/1/1至2079/12/31.使用4个字节.

第五大类:字符串数据

char:长度是设定的,最短为1字节,最长为8000个字节.不足的长度会用空白补上.

varchar:长度也是设定的,最短为1字节,最长为8000个字节,尾部的空白会去掉.

text:长宽也是设定的,最长可以存放2G的数据.

第六大类:Unincode字符串数据

nchar:长度是设定的,最短为1字节,最长为4000个字节.不足的长度会用空白补上.储存一个字符需要2个字节.

nvarchar:长度是设定的,最短为1字节,最长为4000个字节.尾部的空白会去掉.储存一个字符需要2个字节.

ntext:长度是设定的,最短为1字节,最长为2G.尾部的空白会去掉,储存一个字符需要2个字节.

第七大类:货币数据类型

money:记录金额范围为:-92233720368577.5808至92233720368577.5807.需要8 个字节.

smallmoney:记录金额范围为:-214748.3648至214748.36487.需要4个字节.

第八大类:标记数据

timestamp:该数据类型在每一个表中是唯一的!当表中的一个记录更改时,该记录的timestamp字段会自动更新.

uniqueidentifier:用于识别数据库里面许多个表的唯一一个记录.

第九大类:二进制码字符串数据

binary:固定长度的二进制码字符串字段,最短为1,最长为8000.

varbinary:与binary差异为数据尾部是00时,varbinary会将其去掉

image:为可变长度的二进制码字符串,最长2G.

SQL Server 数据类型使用分析

1.char,varchar,nchar,nvarchar

char性能好;varchar节省空间;选择方法:10个字节以上的用varchar

n类型的占用空间大,性能低,如果不准备存中文或中亚文字则尽量避免使用。

尤其向类似工号的字段更不要使用n类型,首先它不会存入中文,其次它可能作为索引,此时对性能的影响就更大。

2.datetime和smalldatetime

datetime:从1753年1月1日到9999年12月31日的日期和时间数据,精确到毫秒。

smalldatetime:从1900年1月1日到2079年6月6日的日期和时间数据,精确到分钟。

3.bigint,int,smallint,tinyint和bit

bigint:从-2^63(-9223372036854775808)到2^63-1(9223372036854775807)的整型数据。

int:从-2^31(-2,147,483,648)到2^31-1(2,147,483,647)的整型数据。

smallint:从-2^15(-32,768)到2^15-1(32,767)的整数数据。

tinyint:从0到255的整数数据。

bit:1或0的整数数据。

 

首先int,空间占用合适,运算速度快;(2147,...,...2个多亿)

如果非常在意空间的话,考虑tinyint

超大应用场合,考虑bigint

4.decimal和numeric

这两种数据类型是等效的。都有两个参数:p(精度)和s(小数位数)。p指定小数点左边和右边可以存储的十进制数字的最大个数,p必须是从 1到38之间的值。s指定小数点右边可以存储的十进制数字的最大个数,s必须是从0到p之间的值,默认小数位数是0。

5.float和real

float:从-1.79^308到1.79^308之间的浮点数字数据。

real:从-3.40^38到3.40^38之间的浮点数字数据。在SQL Server中,real的同义词为float(24)。

6.money,smallmoney

尽量考虑用decimal替代,原因:性能稍稍好一些;相对其它数据库兼容性好。

money的好处是可以用到某些货币运算函数。

float类型尽量少用,性能不好,精度不高,一般只用于科学计算。

7.text/image

考虑到维护方便、效率以及程序开发的方便性,最好不用,即不将其存入数据库中;采用varchar指向其相应的存储路径
本文出自 “成长的记忆录” 博客,请务必保留此出处http://zhanyah.blog.51cto.com/2821907/983318
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: