Я работаю над системой, которая загружает данные из облачной системы в локальную базу данных (PostgreSQL, MySQL,...). Теперь у меня проблема с производительностью PostgreSQL, потому что для ввода данных требуется много времени.
Число столбцов и размер данных могут различаться. В примере проекта у меня есть таблица с ок. 170 столбцов. Существует один уникальный индекс - но даже после падения индекса скорость вставки не изменилась.
Я использую драйвер JDBC для подключения к базе данных, и я вставляю данные партиями из 250 строк (используя NamedParameterJdbcTemplate).
Мне потребовалось ок. 18 секунд, чтобы вставить данные в Postgres. Тот же набор данных на MySQL занял у меня всего лишь секунду. Это огромная разница - откуда она взялась? Является ли драйвер Postgres JDBC медленным? Может ли он быть настроен каким-то образом, чтобы сделать его быстрее? Я что-то пропустил? Разница между Postgres и MySQL настолько велика. Любые другие идеи, как сделать это быстрее?
Я сделал пример проекта, который доступен на Github - https://github.com/varad/postgresql-vs-mysql. Все происходит в классе LetsGo в методе "run".