Postgresql таблица со столбцом первичного ключа BigInt: медленная вставка - PullRequest
0 голосов
/ 14 марта 2020

У меня есть таблица со столбцом primaryKey "BigInt" (int8), вставка в эту таблицу происходит очень медленно, и она продолжает ухудшаться по мере увеличения числа строк.

Некоторые дополнительные сведения:

  • Postgres версия: 10,7
  • Нет отдельного индекса для таблицы
  • Количество вставок в минуту ~ 2000, он ухудшается с большим количеством строк в данных
  • У нас есть около 25 тыс. записей, мы пробовали обрезать данные и вставлять из нулевой строки, но без улучшения
  • Мы используем Spring-data-jpa для вставки данных (.save ()) метод. SpringBoot: 2.2.4.RELEASE / Hoxton.SR1
  • Источник данных Hikari с максимальным размером пула: 50.
  • столбец сопоставлен с java .math.BigInteger в сущности
  • вставки в одну строку (не в пакетном режиме)

Проблема возникает с самим столбцом BiGInt, когда мы меняем тип столбца с BigInt на varchar, медлительность исчезает, 25 тыс. Записей вставляются за одну минуту.

Что-то не так с колонкой BigInt? почему тип BigInt делает вставку такой медленной?

любые идеи и помощь приветствуется.

Спасибо!

1 Ответ

1 голос
/ 16 марта 2020

Это было вызвано неправильным отображением:

Postgresql:BingInteger(int8) --> Java.math.BigInteger

Правильное отображение

Postgresql:BingInteger(int8) --> Java.lang.Long

Получил подсказку из этого поста: список рассылки

...