/ / BigDecimal einfügen => Varchar2-Spalte VS BigDecimal => Zahlspalte - oracle, jdbc

Einfügen von BigDecimal => Varchar2-Spalte VS BigDecimal => Zahlspalte - oracle, jdbc

Ich habe einige Tests durchgeführt, bei denen ich einige Datensätze von java bigDecimal in eine varchar2-Spalte in Oracle eingefügt habe. Was ich tun wollte, war, java bigDecimal einzufügen, um die Spalte in Oracle zu nummerieren.

Ich frage mich, wie die 2 anders funktionieren und welche Interim-Konvertierungsschritte Oracle in den Szenarien eingeht.

  • BigDecimal => Varchar2-Spalte BigDecimal => Anzahl Spalte

Kann ich noch die Ergebnisse meiner vorherigen Tests verwenden? Ich schaue hauptsächlich auf Latenz, Durchsatz usw.

Antworten:

3 für die Antwort № 1

Denken Sie an die goldene Regel: Sie sollten niemals Zahlen in Varchar-Spalten speichern.

Das Speichern von Zahlen in Zeichenspalten wird Ihnen auf lange Sicht viel Ärger bereiten.

Speichern Sie Nummern immer als Zahlen.

Um die Nummern zu speichern, verwenden Sie ein PreparedStatement und verwenden Sie das setBigDecimal () Methode, um die Nummer an die Datenbank zu senden. Dies sorgt für eine Konvertierung und garantiert, dass der korrekte Wert in der Datenbank gespeichert wird und Sie sich nicht über verschiedene Dezimaltrennzeichen in verschiedenen Gebietsschemata sorgen müssen, wenn Sie eine Zahl als String an die Datenbank senden.


0 für die Antwort № 2

Ich habe keinen messbaren Leistungsunterschied gefunden. Dies war nur ein Test eines Prototyps, damit ich die Ergebnisse nutzen kann.