Вставка столбца BigDecimal => Varchar2 VS BigDecimal => Столбец номера - PullRequest
1 голос
/ 05 января 2011

Я проводил несколько тестов, где вставлял некоторые записи java bigDecimal в столбец varchar2 в Oracle. Я хотел вставить в Oracle столбец java bigDecimal to number.

Мне интересно, как эти 2 работают по-разному, и какие промежуточные шаги преобразования выполняет Oracle в этих сценариях.

  • BigDecimal => столбец Varchar2 BigDecimal => Числовой столбец

Могу ли я использовать результаты моих предыдущих тестов? Я в основном смотрю на задержку, пропускную способность и т. Д.

Ответы [ 2 ]

3 голосов
/ 05 января 2011

Помните золотое правило: никогда не следует ни при каких обстоятельствах хранить числа в столбцах varchar.

Хранение чисел в символьных столбцах доставит вам много хлопот в долгосрочной перспективе.

Всегда хранить числа как числа.

Чтобы сохранить числа, используйте PreparedStatement и используйте метод setBigDecimal () , чтобы отправить число в базу данных.Это позаботится о любом преобразовании и гарантирует, что в базе данных хранится правильное значение, и вам не нужно беспокоиться, например, о разных десятичных разделителях в разных локалях при отправке числа в виде строки в базу данных.

0 голосов
/ 05 февраля 2011

Я не нашел ощутимой разницы в производительности.Это был всего лишь тест прототипа, поэтому я могу использовать результаты.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...