Używana pamięć zależy od rzeczywistej wartości liczbowej, a także od dokładności i skali kolumny.
Przewodnik po koncepcjach Oracle 11gR2 mówi :
przewodnik 10gR2 idzie dalej :
Jeśli masz dostęp do My Oracle Support, więcej informacji znajdziesz w nocie 1031902.6.
Możesz zobaczyć rzeczywistą pamięć używaną przez vsize
lub dump
.
create table t42 (n number(10));
insert into t42 values (0);
insert into t42 values (1);
insert into t42 values (-1);
insert into t42 values (100);
insert into t42 values (999);
insert into t42 values (65535);
insert into t42 values (1234567890);
select n, vsize(n), dump(n)
from t42
order by n;
N VSIZE(N) DUMP(N)
------------ ---------- ---------------------------------
-1 3 Typ=2 Len=3: 62,100,102
0 1 Typ=2 Len=1: 128
1 2 Typ=2 Len=2: 193,2
100 2 Typ=2 Len=2: 194,2
999 3 Typ=2 Len=3: 194,10,100
65535 4 Typ=2 Len=4: 195,7,56,36
1234567890 6 Typ=2 Len=6: 197,13,35,57,79,91
Zauważ, że pamięć różni się w zależności od wartości, nawet jeśli wszystkie są w number(10)
kolumna, a dwie 3-cyfrowe liczby mogą wymagać różnych ilości pamięci.