Genaue numerische Datentypen
Numerische Datentypen werden zum Speichern von Zahlen verwendet. In der folgenden Tabelle werden die ganzzahligen numerischen Typen in verschiedenen Bereichen beschrieben. Je größer der Bereich, desto mehr Speicher wird benötigt.
Wählen Sie ganzzahlige Datentypen für die Verteilung und für Joinspalten aus. Verwenden Sie ganzzahlige Datentypen, wo dies möglich ist, um von der zusätzlichen Leistung von Zonenmaps zu profitieren.
| Typ | Wert | Plattenbelegung |
|---|---|---|
| byteint (Aliasname int1) | 8-Bit-Werte im Bereich -128 bis 127 | 1 Byte |
| smallint (Aliasname int2) | 16-Bit-Werte im Bereich -32.768 bis 32.767 | 2 Byte |
| integer (Aliasnamen int und int4) | 32-Bit-Werte im Bereich -2.147.483.648 bis 2.147.483.647 | 4 Byte |
| bigint (Aliasname int8) | 64-Bit-Werte im Bereich -9.223.372.036.854.775.808 bis 9.223.372.036.854.775.807 | 8 Byte |
Sie müssen numerische Festkommadatentypen verwenden, wenn Sie die
numerische Rundung für eine bestimmte Dezimalstelle definieren wollen. In der folgenden Tabelle werden die numerischen Festkommadatentypen beschrieben.
| Typ | Wert | Plattenbelegung |
|---|---|---|
| numeric(G, A) | Numerisch mit Genauigkeit p und Skala s. Die Genauigkeit kann von 1 bis 38 reichen, die Skala reicht von 0 bis zur Genauigkeit. | Genauigkeit von 9 oder weniger (4 Byte) Genauigkeit von 10 - 18 (8 Byte) Genauigkeit von 19 - 38 (16 Byte) |
| numeric(G) | Äquivalent zu numeric(G, 0). | |
| numerisch | Äquivalent zu numeric(18, 0). | 8 Byte |
| dezimal | Obwohl dezimal manchmal ein eigenständiger SQL-Datentyp ist, wird er Netezza Performance Server SQL als ein Alias für numerisch behandelt. | 4 Byte bis 16 Byte |
Verwenden Sie stets den kleinstmöglichen numerischen ganzzahligen Datentyp oder Festkommadatentyp. Wenn Sie Quelldaten in das Netezza Performance Server konvertieren, müssen Sie möglicherweise die Daten analysieren, um den kleinsten Datentyp zu bestimmen, den Sie verwenden können.
Geben Sie den folgenden SQL-Befehl ein, um die kleinste Datenmenge zu ermitteln, die Sie für ganzzahlige numerische Werte und numerische Festkommawerte verwenden können:
SELECT MIN(column_name), MAX(column_name) FROM table_name;