DataType--数值类型
SQL Server数值类型可以分为精确数字类型和近似数字类型
精确数字
BIT/SMALLINT/TINYINT/INT/BIGINT
NUMERIC/DECIMAL/SMALLMONEY/MONEY
近似数字
FLOAT/REAL
--================================================
类型: bigint
范围: -2^63 (-9,223,372,036,854,775,808) 到 2^63-1 (9,223,372,036,854,775,807)
存储: 8 字节
类型: int
范围: -2^31 (-2,147,483,648) 到 2^31-1 (2,147,483,647)
存储: 4 字节
类型: smallint
范围: -2^15 (-32,768) 到 2^15-1 (32,767)
存储: 2 字节
类型: tinyint
范围: 0 到 255
存储: 1 字节
--================================================
decimal[ (p[ , s] )] 和 numeric[ (p[ , s] )]
固定精度和小数位数。使用最大精度时,有效值从 - 10^38 +1 到 10^38 - 1。
numeric 在功能上等价于 decimal。
默认精度为 18。
p(精度)最多可以存储的十进制数字的总位数,包括小数点左边和右边的位数
s (小数位数)小数点右边可以存储的十进制数字的最大位数。
decimal和numeric的存储空间与精度相关
精度: 1 - 9
存储字节数:5
精度: 10-19
存储字节数: 9
精度: 20-28
存储字节数: 13
精度: 29-38
存储字节数: 17
--================================================
货币数据类型
类型: money
范围: -922,337,203,685,477.5808 到 922,337,203,685,477.5807
存储: 8 字节
类型:smallmoney
范围: -214,748.3648 到 214,748.3647
存储: 4 字节
--================================================
浮点数类型
浮点数据为近似值;并非数据类型范围内的所有值都能精确地表示。
类型: real
范围: -3.40E + 38 至 -1.18E - 38、0 以及 1.18E - 38 至 3.40E + 38
存储: 4 字节
类型: float
范围: -1.79E + 308 至 -2.23E - 308、0 以及 2.23E - 308 至 1.79E + 308
float [ ( n ) ] 其中 n 为用于存储 float 数值尾数的位数(以科学记数法表示)
当n在 1-24 区间时,精度为 7,存储空间为 4 字节
当n在 25-53 区间时,精度为 15,存储空间为 8 字节
real相当于float(24)
由于float存放范围内的近似值,不用精确地存储范围内所有可能的值,所有在相同的存储空间内,浮点数可以存放比精确类型范围更大的数据
浮点数在存放和读取时,需要按照一定公式对数据进行转换,因此会有一定的性能损耗
--================================================
在考虑数据类型时,需要考虑以下方面:
1>数据范围和精度
2>类型占用的空间
3>类型是简单类型还是复杂类型,复杂类型会造成额外的消耗
Simple data types align more directly to native processor types. Complex data types require CPU to review type metadata and to perform branching.
4>类型是定长还是边长,变成类型在数据更新时可能造成数据移动和页拆分
Because a variable-length data type may incur a memcpy when moving, causing additional CPU overhead, use a fixed 8-byte or 4-byte integer assignment if possible.
5>类型的存储形式,近似数值类型在读取和存放时需要额外的转换
Incurs less overhead if the data type is composed of native literals (e.g., int, uint, long, ulong) instead of approximate data types (e.g., float).
6>压缩后的存储空间
A.不同的数值类型压缩比不一样
B.相同的数据值类型的值大小不一样,压缩后存放空间不一样
最新文章
- coreseek安装
- python ConfigParser 模块
- oracle基本操作符/运算符/操作语言
- 深入理解css中position属性及z-index属性
- JAVA基础知识之网络编程——-TCP/IP协议,socket通信,服务器客户端通信demo
- 遇到EDIUS视频条全变灰色编辑不了如何处理
- BIO,NIO,AIO的理解
- java.lang.NumberFormatException: For input string: ";Y";
- IDEA 使用 SVN的一个注意点
- J2EE 关于WebLogic下应用使用URL.openConnection获取连接返回 HttpsURLConnection与SOAPHttpsURLConnection的问题
- DSP TMS320C6000基础学习(6)—— gel文件
- Linux常用指令(待补充)
- Umbraco隐藏属性
- Mysql bug: The server time zone value '�й���ʱ��' is unrecognized or represents more than one time zone.
- WPF 10天修炼 第七天- WPF资源、样式、控件模板
- 关于生物项目上的blast和viroblast
- DevOps工程师到底做些什么?
- [WC2018]州区划分
- linux学习笔记之 basename, dirname
- 将nginx添加至service服务
热门文章
- Unable to resolve target 'android-21'
- Quartz.net 2.x 学习笔记02-Quartz.net 2.x在MVC站点中结合Log4net的使用
- 水仙花之java与c++的战争======
- thinkphp中配置信息的二维数组设置与使用
- hbase集群配置
- Angular4中利用promise异步加载gojs
- ndnarry元素处理
- Centos7下快速安装Mongo3.2
- CSS中盒子垂直居中的常用方法
- Spring总结九:事务管理机制