精确数字数据类型
数字数据类型用于存储数字。 下表描述了不同范围内的整数数字类型。 范围越大,需要的存储空间就越大。
为分布列和连接列选择整数数据类型。 尽可能使用整数数据类型,以便从区域地图的附加性能中获益。
| 类型 | 值 | 磁盘使用情况 |
|---|---|---|
| BYTEINT(别名 INT1) | 范围为 -128 至 127 的 8 位数值 | 1 个字节 |
| 小int2 | 范围为 -32,768 至 32,767 的 16 位数值 | 2 字节 |
| 整数 | 范围为-2,147,483,648 至 2,147,483,647 的 32 位数值 | 4 个字节 |
| bigint(别名int8 | 范围为-9,223,372,036,854,775,808 至 9,223,372,036,854,775,807 的 64 位数值 | 8 个字节 |
您可以使用定点数值数据类型定义四舍五入到特定小数位的数值。 下表描述了定点数字数据类型。
| 类型 | 值 | 磁盘使用情况 |
|---|---|---|
| NUMERIC(p,s) | 精度为 p、刻度为 s 的数值。 精度范围从 1 到 38,刻度从 0 到精度。 | 精度为 9 或更低(4 字节) 精度为 10 - 18(8 字节) 精度为 19 - 38(16 个字节) |
| NUMERIC(p) | 等价于 numeric(p,0)。 | |
| 数值 | 等价于 numeric(18,0)。 | 8 个字节 |
| 十进制 | 虽然十进制有时是一种独特的 SQL 数据类型,但Netezza Performance ServerSQL 将其视为数值的别名。 | 4 字节至 16 字节 |
尽可能使用最小的整数或定点数值数据类型。 将源数据转换到Netezza Performance Server系统时,可能需要对数据进行分析,以确定可以使用的最小数据类型。
要确定整数和定点数值的最小数据大小,请键入以下 SQL 命令:
SELECT MIN(column_name), MAX(column_name) FROM table_name;