Oracle
 sql >> Datenbank >  >> RDS >> Oracle

Unterschied zwischen Zahlen- und Integer-Datentyp in Oracle-Wörterbuchansichten

Die beste Erklärung, die ich gefunden habe, ist diese:

Was ist der Unterschied zwischen INTEGER und NUMBER? Wann sollten wir NUMBER und wann INTEGER verwenden? Ich wollte nur meine Kommentare hier aktualisieren...

NUMBER speichert immer so, wie wir es eingegeben haben. Skalierung ist -84 bis 127. Aber INTEGER rundet auf ganze Zahlen. Die Skala für INTEGER ist 0. INTEGER entspricht NUMBER(38,0). Das bedeutet, INTEGER ist eine eingeschränkte Zahl. Die Dezimalstelle wird gerundet. Aber NUMBER ist nicht eingeschränkt.

  • INTEGER(12.2) => 12
  • GANZZAHL(12,5) => 13
  • INTEGER(12.9) => 13
  • INTEGER(12.4) => 12
  • ZAHL(12.2) => 12.2
  • ZAHL(12.5) => 12.5
  • ZAHL(12.9) => 12.9
  • ZAHL(12.4) => 12.4

INTEGER ist immer langsamer als NUMBER. Da Integer eine Zahl mit zusätzlicher Einschränkung ist. Es werden zusätzliche CPU-Zyklen benötigt, um die Einschränkung durchzusetzen. Ich habe nie einen Unterschied beobachtet, aber es könnte einen Unterschied geben, wenn wir mehrere Millionen Datensätze in die INTEGER-Spalte laden. Wenn wir sicherstellen müssen, dass die Eingabe ganze Zahlen sind, dann ist INTEGER die beste Option. Andernfalls können wir beim Datentyp NUMBER bleiben.

Hier ist der Link