powered by simpleCommunicator - 2.0.40     © 2025 Programmizd 02
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Posgres+hiber очень медленная вставка
24 сообщений из 24, страница 1 из 1
Posgres+hiber очень медленная вставка
    #40085203
O_79_O
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый вечер!
Ситуация в следующем.
На проекте хибернейт - все сущности имеют статегию генерации первичного ключа Identity
Хибернейт не умеет делать батч инсерт/апдейт с генераторами такого типа

Было принято решение поменять генераторы на sequence

собственно я создал пару тестовых таблиц

их ddl

Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
create sequence a_id_seq increment 50;
create sequence b_id_seq increment 50;
create table A(
  id bigint DEFAULT nextval('a_id_seq') primary key ,
  name text
);

create table B(
  id bigint DEFAULT nextval('b_id_seq') primary key,
  name text,
  a_id bigint references a on delete cascade

)



сущности


Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
@Entity
@Getter
@Setter
public class A {

  @Id
  @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "ID_GENERATOR")
  @SequenceGenerator(name = "ID_GENERATOR", sequenceName = "a_id_seq")
  private Long id;

  private String name;

  @OneToMany(targetEntity = B.class, fetch = FetchType.LAZY, cascade = CascadeType.ALL)
  @JoinColumn(name = "a_id", nullable = false)
  List<B> bList;

}



Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
@Entity
@Getter
@Setter
public class B {

  @Id
  @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "ID_GENERATOR")
  @SequenceGenerator(name = "ID_GENERATOR", sequenceName = "b_id_seq")
  private Long id;

  private String name;

}




что я делаю далее генерирую 100 сущностей А ,и подставлю им по 500 сущностей B

далее используя обычный hibernate метод saveAll () записываем все это в базу

Код: java
1.
2.
3.
4.
5.
6.
7.
  @Transactional
  @PostMapping
  public String saveAllTest(){
    var list=batchTestingService.getTestListA();
    aRepository.saveAll(list);
    return "OK";
  }




по итогу выполнения имею следующую статистику

при sequnce
Код: plsql
1.
2.
3.
4.
 14803500 nanoseconds spent preparing 1013 JDBC statements;
    2552702500 nanoseconds spent executing 1010 JDBC statements;
    433145540000 nanoseconds spent executing 201 JDBC batches;
время выполения 7  м 20 секунд



видно что согласно документации - идет булк инсерт и вроде все здорово кроме времени выполнения

проверяю тот же самый список на вставку ,но меняю идентификаторы на Identity

и не верю своим глазам

Код: plsql
1.
2.
3.
4.
 nanoseconds spent preparing 50500 JDBC statements;
     nanoseconds spent executing 50500 JDBC statements;
     nanoseconds spent executing 100 JDBC batches;
время выполения 6 м 50 секунд



50500 екзекутов ,непонятно откуда взявшиеся 100 батчей и самое главное - время выполнения меньше на 30 секунд

Подскажите кто в курсе что происходит вообще,почему булк инсерты не дали ни какого прироста производительности,а даже ухудишили ее ,хотя как мы видим должно было быть минимум в 50 раз быстрей
...
Рейтинг: 0 / 0
Posgres+hiber очень медленная вставка
    #40085218
Фотография Maxim Boguk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
O_79_O,

Включаете полный лог базы до миллисекунд с запросами и их временем выполнения.
Прогоняете ваш тест.
Смотрите какие запросы выполнялись и как именно и сколько времени заняли и какие перерывы по времени были между запросами.
Дальше думаете и задаёте вопросы если непонятно что то будет.
В нормальной ситуации вставка 50500 строк в базу редко занимает больше 5-10 секунд даже без использования bulk copy (а можно и за менее чем 1 секунду сделать через bulk load).

--
Maxim Boguk
лучшая поддержка PostgreSQL: dataegret.ru
...
Рейтинг: 0 / 0
Posgres+hiber очень медленная вставка
    #40085249
O_79_O
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Maxim Boguk,

провел тест на секвенсах

изначально идут запросы в секвенс
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
2021-07-22 00:05:20.087 MSK [24104] LOG:  duration: 0.066 ms  parse <unnamed>: select nextval ('a_id_seq')
2021-07-22 00:05:20.088 MSK [24104] LOG:  duration: 0.071 ms  bind <unnamed>: select nextval ('a_id_seq')
2021-07-22 00:05:20.089 MSK [24104] LOG:  execute <unnamed>: select nextval ('a_id_seq')
2021-07-22 00:05:20.090 MSK [24104] LOG:  duration: 1.183 ms
2021-07-22 00:05:20.092 MSK [24104] LOG:  duration: 0.035 ms  bind S_1: select nextval ('b_id_seq')
2021-07-22 00:05:20.093 MSK [24104] LOG:  execute S_1: select nextval ('b_id_seq')
2021-07-22 00:05:20.094 MSK [24104] LOG:  duration: 1.130 ms
2021-07-22 00:05:20.095 MSK [24104] LOG:  duration: 0.034 ms  bind S_1: select nextval ('b_id_seq')
2021-07-22 00:05:20.096 MSK [24104] LOG:  execute S_1: select nextval ('b_id_seq')



их там достаточно много вот таких

далее идет череда инсертов в таблицу А

Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
2021-07-22 00:05:24.331 MSK [24104] LOG:  duration: 0.018 ms  bind S_3: insert into a (name, id) values ($1, $2)
2021-07-22 00:05:24.331 MSK [24104] DETAIL:  parameters: $1 = 'a168', $2 = '169'
2021-07-22 00:05:24.332 MSK [24104] LOG:  execute S_3: insert into a (name, id) values ($1, $2)
2021-07-22 00:05:24.332 MSK [24104] DETAIL:  parameters: $1 = 'a168', $2 = '169'
2021-07-22 00:05:24.334 MSK [24104] LOG:  duration: 1.836 ms
2021-07-22 00:05:24.335 MSK [24104] LOG:  duration: 0.018 ms  bind S_3: insert into a (name, id) values ($1, $2)
2021-07-22 00:05:24.335 MSK [24104] DETAIL:  parameters: $1 = 'a169', $2 = '170'
2021-07-22 00:05:24.337 MSK [24104] LOG:  execute S_3: insert into a (name, id) values ($1, $2)
2021-07-22 00:05:24.337 MSK [24104] DETAIL:  parameters: $1 = 'a169', $2 = '170'
2021-07-22 00:05:24.338 MSK [24104] LOG:  duration: 2.128 ms
2021-07-22 00:05:24.339 MSK [24104] LOG:  duration: 0.007 ms  bind S_3: insert into a (name, id) values ($1, $2)



потом инсерты в таблицу B
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
2021-07-22 00:05:30.397 MSK [24104] LOG:  duration: 1.193 ms
2021-07-22 00:05:30.398 MSK [24104] LOG:  duration: 0.005 ms  bind S_4: insert into b (name, a_id, id) values ($1, $2, $3)
2021-07-22 00:05:30.398 MSK [24104] DETAIL:  parameters: $1 = 'b11', $2 = '12', $3 = '1112'
2021-07-22 00:05:30.399 MSK [24104] LOG:  execute S_4: insert into b (name, a_id, id) values ($1, $2, $3)
2021-07-22 00:05:30.399 MSK [24104] DETAIL:  parameters: $1 = 'b11', $2 = '12', $3 = '1112'
2021-07-22 00:05:30.400 MSK [24104] LOG:  duration: 1.135 ms
2021-07-22 00:05:30.401 MSK [24104] LOG:  duration: 0.005 ms  bind S_4: insert into b (name, a_id, id) values ($1, $2, $3)
2021-07-22 00:05:30.401 MSK [24104] DETAIL:  parameters: $1 = 'b12', $2 = '12', $3 = '1113'
2021-07-22 00:05:30.402 MSK [24104] LOG:  execute S_4: insert into b (name, a_id, id) values ($1, $2, $3)
2021-07-22 00:05:30.402 MSK [24104] DETAIL:  parameters: $1 = 'b12', $2 = '12', $3 = '1113'
2021-07-22 00:05:30.403 MSK [24104] LOG:  duration: 1.313 ms
2021-07-22 00:05:30.403 MSK [24104] LOG:  duration: 0.008 ms  bind S_4: insert into b (name, a_id, id) values ($1, $2, $3)
2021-07-22 00:05:30.403 MSK [24104] DETAIL:  parameters: $1 = 'b13', $2 = '12', $3 = '1114'
2021-07-22 00:05:30.405 MSK [24104] LOG:  execute S_4: insert into b (name, a_id, id) values ($1, $2, $3)
2021-07-22 00:05:30.405 MSK [24104] DETAIL:  parameters: $1 = 'b13', $2 = '12', $3 = '1114'




ну и под конец идет апдейт таблицы B где проставляется FK a_id

Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
2021-07-22 00:11:38.988 MSK [24104] DETAIL:  parameters: $1 = '400', $2 = '40000'
2021-07-22 00:11:38.989 MSK [24104] LOG:  duration: 2.142 ms
2021-07-22 00:11:39.005 MSK [24104] LOG:  duration: 0.020 ms  bind S_5: update b set a_id=$1 where id=$2
2021-07-22 00:11:39.005 MSK [24104] DETAIL:  parameters: $1 = '401', $2 = '40001'
2021-07-22 00:11:39.006 MSK [24104] LOG:  execute S_5: update b set a_id=$1 where id=$2
2021-07-22 00:11:39.006 MSK [24104] DETAIL:  parameters: $1 = '401', $2 = '40001'
2021-07-22 00:11:39.007 MSK [24104] LOG:  duration: 1.403 ms
2021-07-22 00:11:39.008 MSK [24104] LOG:  duration: 0.008 ms  bind S_5: update b set a_id=$1 where id=$2
2021-07-22 00:11:39.008 MSK [24104] DETAIL:  parameters: $1 = '401', $2 = '40002'
2021-07-22 00:11:39.009 MSK [24104] LOG:  execute S_5: update b set a_id=$1 where id=$2
2021-07-22 00:11:39.009 MSK [24104] DETAIL:  parameters: $1 = '401', $2 = '40002'
2021-07-22 00:11:39.010 MSK [24104] LOG:  duration: 1.305 ms
2021-07-22 00:11:39.011 MSK [24104] LOG:  duration: 0.008 ms  bind S_5: update b set a_id=$1 where id=$2




если я не ошибаюсь никаким булк инсертом тут и не пахнет - вопрос что тут не так
...
Рейтинг: 0 / 0
Posgres+hiber очень медленная вставка
    #40085250
O_79_O
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А должно быть что то на подобии вот такого запроса

Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
2021-07-22 00:27:01.805 MSK [7076] LOG:  duration: 0.594 ms  parse <unnamed>: insert into b (a_id,name) values (2,'sss'),(2,'2312'),(2,'sds'),(2,'qdqdas'),

	                                 (2,'ssdqwe'),(2,'qweqw'),(2,'qweqwewq'),(2,'qweqw')
2021-07-22 00:27:01.806 MSK [7076] LOG:  duration: 0.067 ms  bind <unnamed>: insert into b (a_id,name) values (2,'sss'),(2,'2312'),(2,'sds'),(2,'qdqdas'),

	                                 (2,'ssdqwe'),(2,'qweqw'),(2,'qweqwewq'),(2,'qweqw')
2021-07-22 00:27:01.806 MSK [7076] LOG:  execute <unnamed>: insert into b (a_id,name) values (2,'sss'),(2,'2312'),(2,'sds'),(2,'qdqdas'),

	                                 (2,'ssdqwe'),(2,'qweqw'),(2,'qweqwewq'),(2,'qweqw')




очень странно все это
...
Рейтинг: 0 / 0
Posgres+hiber очень медленная вставка
    #40085251
Фотография Maxim Boguk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
O_79_O,

Ну это уже очевидно не вопрос к базе.

--
Maxim Boguk
лучшая поддержка PostgreSQL: dataegret.ru
...
Рейтинг: 0 / 0
Posgres+hiber очень медленная вставка
    #40085299
O_79_O
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Maxim Boguk
O_79_O,

Ну это уже очевидно не вопрос к базе.

--
Maxim Boguk
лучшая поддержка PostgreSQL: dataegret.ru


ну тоесть по логам видно что построчный инсерт идет? я просто не в курсе ,как булк инсерты логируются - может именно так ?
Хотя кого я обманываю,по времени выполенения видно что идет построчная вставка обычная
...
Рейтинг: 0 / 0
Posgres+hiber очень медленная вставка
    #40085307
Фотография Maxim Boguk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
O_79_O
Maxim Boguk
O_79_O,

Ну это уже очевидно не вопрос к базе.

--
Maxim Boguk
лучшая поддержка PostgreSQL: dataegret.ru


ну тоесть по логам видно что построчный инсерт идет? я просто не в курсе ,как булк инсерты логируются - может именно так ?
Хотя кого я обманываю,по времени выполенения видно что идет построчная вставка обычная


у вас ещё сами вставки какие то не быстрые совсем...
я бы включил txid/vxid в лог и посмотрел у вас вообще это всё одной транзакцией идёт или нет...
и если нет сделать чтобы была явная транзакция в начале и коммитв конце.
Ну или syncronous_commit бы в базе отключил.
Оба варианта дадут выйгрыш по скорости если делать как сейчас.

--
Maxim Boguk
лучшая поддержка PostgreSQL: dataegret.ru
...
Рейтинг: 0 / 0
Posgres+hiber очень медленная вставка
    #40085365
O_79_O
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Maxim Boguk
O_79_O
пропущено...


ну тоесть по логам видно что построчный инсерт идет? я просто не в курсе ,как булк инсерты логируются - может именно так ?
Хотя кого я обманываю,по времени выполенения видно что идет построчная вставка обычная


у вас ещё сами вставки какие то не быстрые совсем...
я бы включил txid/vxid в лог и посмотрел у вас вообще это всё одной транзакцией идёт или нет...
и если нет сделать чтобы была явная транзакция в начале и коммитв конце.
Ну или syncronous_commit бы в базе отключил.
Оба варианта дадут выйгрыш по скорости если делать как сейчас.

--
Maxim Boguk
лучшая поддержка PostgreSQL: dataegret.ru

сама вставка то быстрая,а вот биндинг параметров да - но это ожидаемо было

самое главное как понять работает ли батчинг - в логах хибера пишет что исполнюятся батчи- а в логах базы я вижу построчные инсерты
...
Рейтинг: 0 / 0
Posgres+hiber очень медленная вставка
    #40085372
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1. Что Вы понимаете под словом "батч" в контексте Hibernate и PostgreSQL ?
2. Что Вы понимаете под словом "биндинг параметров" в контексте Hibernate и PostgreSQL ?
пять раз прочитал фразу "сама вставка то быстрая,а вот биндинг параметров да - но это ожидаемо было" смысла предложения так и не понял.
...
Рейтинг: 0 / 0
Posgres+hiber очень медленная вставка
    #40085385
Фотография Maxim Boguk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Leonid Kudryavtsev,

В контексте postgresql batch это COPY FROM STDIN
а вот что там в контексте hibernate получается это я не знаю.


--
Maxim Boguk
лучшая поддержка PostgreSQL: dataegret.ru
...
Рейтинг: 0 / 0
Posgres+hiber очень медленная вставка
    #40085423
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Maxim Boguk,

Автор очень ленив.
Ему сказано было - сделать батчинг не в хибере, а в jdbc без него.
Если работает и ускоряет реально то пробовать прийти к этому скрипту средствами хибера.
Но автор ленив и кода мы не дождались.
...
Рейтинг: 0 / 0
Posgres+hiber очень медленная вставка
    #40085424
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Из хелпа хибера:
Хибер применяет пакетирование jdbc.
Это значит он собирает команды чтобы драйвер отдал бд за ОДИН СЕТЕВОЙ вызов.
Почему ТС сопли жует второй день непонятно.
...
Рейтинг: 0 / 0
Posgres+hiber очень медленная вставка
    #40085427
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1.
Нафига тесты. Документацию читать надо. Что понимается под понятием batch в конкретной СУБД и в конкретном драйвере.

Случайно нашел в гугле ссылку на очень хорошее описание работы PostgreSQL JDBC драйвера. См.
https://stackoverflow.com/questions/47664889/jdbc-batch-operations-understanding

По данной ссылке, преобразование batch insert в многострочный Insert (подозреваю это и хочет в логах увидеть автор), появилось в JDBC 9.4.1209 (2016-07-15). Для включения этого режима, в строке соединения с базой данных нужно указать reWriteBatchedInserts=true

2.
50500 екзекутов ,непонятно откуда взявшиеся 100 батчей и самое главное - время выполнения меньше на 30 секунд

Подскажите кто в курсе что происходит вообще,почему булк инсерты не дали ни какого прироста производительности,а даже ухудишили ее ,хотя как мы видим должно было быть минимум в 50 раз быстрей


2.1.
а даже ухудишили ее

Подозреваю, bulk insert тут не причем. Ухудшили сиквенсы. Т.к. добавилось еще 50500 запросов к сиквенсам.

2.2.
почему булк инсерты

А должны были? )))

2.3.
UPDATE в логе совершенно лишнии. Я бы сначала разобрался, из-за чего у Вас такие команды кривые (явно это кривость Вашего прикладного кода). Не будет UPDATE - будет минимум в 2-а раза быстрее, а нагрузка на базу (и физический диск) вообще станет меньше раза в 3 (три).

AFAIK команда update в PostgreSQL почти эквивалентна delete + insert. Т.ч. insert + update, для postgresql почти то же самое, что и insert+delete+insert
...
Рейтинг: 0 / 0
Posgres+hiber очень медленная вставка
    #40085429
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp

Это значит он собирает команды чтобы драйвер отдал бд за ОДИН СЕТЕВОЙ вызов.

ерунда какая-то

Ничего это не значит. Никто никакого "один сетевой вызов" не обещал. Разные СУБД и драйвера могут реализовывать данные ф-ции по разному. В том числе, вообще никак не реализовывать (если в протоколах или в СУБД нет возможности реализовать данный функционал).
...
Рейтинг: 0 / 0
Posgres+hiber очень медленная вставка
    #40085437
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Leonid Kudryavtsev,

Я дал текст из справки хибера. Он просто сверху обращается к jdbc.
Согласен с тобой что это чисто фича хибера а не JPA. Они так сделали и наверно гордятся.
Я бы не делал вообще того что автор задумал.
...
Рейтинг: 0 / 0
Posgres+hiber очень медленная вставка
    #40085499
O_79_O
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Собственно все разрешилось выставлением флага ?reWriteBatchedInserts=true в jdbc драйвере постгреса
теперь как и ожидалсь скорость вставки 10 к элементов меньше в около 1000 мс,чего я собственно и ждал

Всем спасибо за участие ,тему можно закрывать
...
Рейтинг: 0 / 0
Posgres+hiber очень медленная вставка
    #40085534
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
O_79_O,
Давно бы так.
Идите юноша от низов. От БД, ее DDL и JDBC.
А не от ОРМ, спринга и прочей нечисти фреймворков.
...
Рейтинг: 0 / 0
Posgres+hiber очень медленная вставка
    #40085559
O_79_O
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
единственный нюанс
reWriteBatchedInserts=true работает только на вставку,
есть ли такой же флаг на апдейет) ибо с апдейтом вот эта фича постгрес не работает и апдейт идет построчно
...
Рейтинг: 0 / 0
Posgres+hiber очень медленная вставка
    #40085982
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
O_79_O
единственный нюанс
reWriteBatchedInserts=true работает только на вставку,
есть ли такой же флаг на апдейет) ибо с апдейтом вот эта фича постгрес не работает и апдейт идет построчно
вы не в java.
Напиши батчинг как его пишут без ОРМ и хибера на jdbc.
Это вынесение коммита во вне цикла for.
Потом это же сделайте уже в spring Data JPA.
Искать флаг или галочку плохой тон для программиста.
...
Рейтинг: 0 / 0
Posgres+hiber очень медленная вставка
    #40085986
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
Это вынесение коммита во вне цикла for.
Потом это же сделайте уже в spring Data JPA.
ТС, ждем от вас результатов. После этого получите ответы)
...
Рейтинг: 0 / 0
Posgres+hiber очень медленная вставка
    #40086081
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp

Напиши батчинг как его пишут без ОРМ и хибера на jdbc.

Какое значение Вы вкладываете в слово "батчинг" ?

В Oracle есть понятие "bulk", обработка массива записей одной командой. IMHO Именно для поддержки этой и похожей фитч СУБД в Java и добавили addBatch, executeBatch

В других СУБД (в т.ч. и PostgreSQL) такой возможности может и не быть. Ряд JDBC драйверов пытаются подменить "правильный" bulk на какие-то другие фичи своих СУБД.

Т.ч. проблема топикстартера - поиск черной кошки в темной комнате. IMHO

Если нужна максимальная производительность - читать документацию по СУБД и использовать соответствующие возможности своей СУБД. Например, если в PostgreSQL нужна максимальная производительность по вставке - есть команда COPY (AFAIK разница с insert может быть до нескольких порядков, т.е. 10-100 раз)
...
Рейтинг: 0 / 0
Posgres+hiber очень медленная вставка
    #40086088
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Leonid Kudryavtsev,
Дык выше я писал несколько раз ключевую фразу.
Вынести коммит за пределы цикла.
Я еще надцать лет назад в дельфи писал цикл for 50 раз insert и 1 раз коммит.
Самое смешное что JPA spring data тоже самое пишут. Сброс в бд пачки записей.
Понятно объяснил или псевдо код дать?
...
Рейтинг: 0 / 0
Posgres+hiber очень медленная вставка
    #40086089
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Leonid Kudryavtsev,
В отношении термина bulk вы правы. Все по разному.
Вот тоже убыстрял запись в сиквел на дельфи надцать лет назад
XML - оптимальный путь передачи данных ОДИН-ко-МНОГИМ?
Ну по ТС вы тоже правы.
Он просто ленив раз кода нет в топике до сих пор.
...
Рейтинг: 0 / 0
Posgres+hiber очень медленная вставка
    #40086105
Фотография crutchmaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Но как же так? Хибернейт это же лучший ОРМ!


Вот ты и поел дерьма.


O_79_O
теперь как и ожидалсь скорость вставки 10 к элементов меньше в около 1000 мс,чего я собственно и ждал

Я ждал, что он тебе выдаст быстрее 200 мс на 10к записей, потому что я вставляю 15к за 200мс с передачей json'а этих самых записей по сети. То есть хуже, чем я делать нельзя.
...
Рейтинг: 0 / 0
24 сообщений из 24, страница 1 из 1
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Posgres+hiber очень медленная вставка
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]