插入BigDecimal => Varchar2列VS BigDecimal =>数字列

时间:2011-01-05 00:33:16

标签: oracle jdbc

我正在做一些测试,在那里我将一些java bigDecimal的记录插入到Oracle的varchar2列中。 我想要做的是将java bigDecimal插入Oracle中的数字列。

我想知道2如何以不同的方式工作以及Oracle在场景中采取了哪些临时转换步骤。

  • BigDecimal => Varchar2列 BigDecimal =>数字列

我还可以使用之前测试的结果吗?我主要关注延迟,吞吐量等。

2 个答案:

答案 0 :(得分:3)

记住黄金法则:在任何情况下都不应该在varchar列中存储数字。

在字符列中存储数字从长远来看会给您带来很多麻烦。

始终将数字存储为数字。

要存储数字,请使用PreparedStatement并使用setBigDecimal()方法将数字发送到数据库。这将负责任何转换,并保证正确的值存储在数据库中,您不必担心,例如关于将数字作为字符串发送到数据库时,不同语言环境中的不同小数分隔符。

答案 1 :(得分:0)

我没有发现任何可衡量的性能差异。这只是对原型的测试,所以我可以使用结果。