nejlepší vysvětlení, které jsem našel, je toto:
Jaký je rozdíl mezi INTEGER a NUMBER? Kdy bychom měli použít NUMBER a kdy INTEGER? Jen jsem chtěl aktualizovat své komentáře zde...
NUMBER se vždy uloží tak, jak jsme zadali. Měřítko je -84 až 127. Ale INTEGER zaokrouhluje na celé číslo. Měřítko pro INTEGER je 0. INTEGER je ekvivalentní NUMBER(38,0). To znamená, že INTEGER je omezené číslo. Desetinné místo bude zaokrouhleno. Ale NUMBER není omezeno.
- INTEGER(12,2) => 12
- INTEGER(12,5) => 13
- INTEGER(12,9) => 13
- INTEGER(12,4) => 12
- ČÍSLO(12,2) => 12,2
- ČÍSLO(12,5) => 12,5
- ČÍSLO(12,9) => 12,9
- ČÍSLO(12,4) => 12,4
INTEGER je vždy pomalejší než NUMBER. Protože celé číslo je číslo s přidaným omezením. Prosazení omezení vyžaduje další cykly CPU. Nikdy jsem nesledoval žádný rozdíl, ale může tam být rozdíl, když načteme několik milionů záznamů do sloupce INTEGER. Pokud potřebujeme zajistit, aby vstupem byla celá čísla, pak je nejlepší volbou INTEGER. Jinak můžeme zůstat u NUMBER datového typu.
Zde je odkaz