sql >> Database >  >> RDS >> Oracle

Oracle NUMBER(p) opslaggrootte?

De gebruikte opslag hangt af van de werkelijke numerieke waarde, evenals de kolomprecisie en schaal van de kolom.

De Oracle 11gR2-conceptengids zegt :

De 10gR2 gids gaat verder :

Als u toegang hebt tot My Oracle Support, vindt u meer informatie in toelichting 1031902.6.

Je kunt de daadwerkelijke opslagruimte zien die wordt gebruikt met vsize of 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 

Merk op dat de opslag varieert afhankelijk van de waarde, ook al zijn ze allemaal in een number(10) kolom, en dat twee 3-cijferige nummers verschillende hoeveelheden opslagruimte nodig kunnen hebben.



  1. Asp.Net MVC - Meerdere rijen in de database invoegen

  2. java.sql.SQLException:ORA-01652:kan tijdelijk segment niet uitbreiden met 128 in tabelruimte TEMP (zelfs na verlenging)

  3. Logica bepalen voor MySQL Select - Reserveringssysteem

  4. oracle 11g en integratie van winterslaapveer en jsf