sql >> Databasteknik >  >> RDS >> Oracle

Oracle NUMBER(p) lagringsstorlek?

Den lagring som används beror på det faktiska numeriska värdet, såväl som kolumnprecisionen och skalan för kolumnen.

Oracle 11gR2 konceptguide säger :

10gR2-guiden går längre :

Om du har tillgång till My Oracle Support finns mer information i not 1031902.6.

Du kan se den faktiska lagringen som används med vsize eller 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 

Observera att lagringen varierar beroende på värdet, även om de alla är i ett number(10) kolumn, och att två 3-siffriga nummer kan behöva olika mängd lagringsutrymme.



  1. PostgreSQL BESKRIV TABELL Motsvarighet

  2. Alternativ för avkodningsfunktion

  3. Parsar OpenXML med flera element med samma namn

  4. SQLServer vs StateServer för ASP.NET Session State Performance