Tipos de datos numéricos exactos
Puede utilizar tipos de datos numéricos para almacenar números. La tabla siguiente describe los tipos numéricos enteros en varios rangos. Cuanto mayor es el rango, más almacenamiento se necesita.
Elija el tipo de datos entero para las columnas de unión y distribución. Siempre que sea posible utilice los tipos de datos enteros para beneficiarse del rendimiento añadido de los mapas de zona.
| Tipo | Valor | Uso de disco |
|---|---|---|
| byteint (alias int1) | Valores de 8 bits en rango de -128 a 127 | 1 byte |
| smallint (alias int2) | Valores de 16 bits en rango de -32.768 a 32.767 | 2 bytes |
| integer (alias int e int4) | Valores de 32 bits en rango de -2.147.483.648 a 2.147.483.647 | 4 bytes |
| bigint (alias int8) | Valores de 64 bits en rango de -9.223.372.036.854.775.808 a 9.223.372.036.854.775.807 | 8 bytes |
Puede utilizar los tipos de datos numéricos de coma fija para definir el redondeo numérico para una posición decimal específica. La tabla siguiente describe los tipos de datos numérico de coma fija.
| Tipo | Valor | Uso de disco |
|---|---|---|
| numeric(p, s) | Numérico con precisión p y escala s. La precisión puede variar de 1 a 38, escala de 0 a la precisión. | Precisión de 9 o menos (4 bytes) Precisión de 10 - 18 (8 bytes) Precisión de 19 - 38 (16 bytes) |
| numeric(p) | Equivalente a numeric(p, 0). | |
| numérico | Equivalente a numeric(18, 0). | 8 bytes |
| decimal | Aunque decimal es a veces un tipo de datos SQL distinto, Netezza Performance Server SQL lo trata como un alias de numérico. | De 4 bytes a 16 bytes |
Utilice siempre el tipo de datos numérico de punto fijo o en entero más pequeño siempre que sea posible. Al convertir datos de origen al sistema Netezza Performance Server, es posible que deba analizar los datos para determinar el tipo de datos más pequeño que puede utilizar.
Para determinar el tamaño de datos más pequeño que puede utilizar para numéricos de punto fijo y enteros, escriba el siguiente comando SQL:
SELECT MIN(column_name), MAX(column_name) FROM table_name;