powered by simpleCommunicator - 2.0.30     © 2024 Programmizd 02
Map
Форумы / Java [игнор отключен] [закрыт для гостей] / Реквестируем отличников по Хибернейт в тред,петро и ваде вход воспрещен)
25 сообщений из 164, страница 5 из 7
Реквестируем отличников по Хибернейт в тред,петро и ваде вход воспрещен)
    #40085311
O_79_O
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
вадя
O_79_O,

авторвыгрузка в базу из файлов- очень часто используемая функция например
так это решается проще и быстре другими методами, а не через ж....

еще раз
задание заменить Идентификаторы Identity на Sequence
если бы я был петрой- я бы просто взял это и сделал без задних мыслей,но я не петрушка,которая не видела булк инсерт в глаза и теперь пытается выйти красиво из патовой ситуации- но не получится)
Собственно я для себя решил выяснить получим ли какие либо профиты от смены идентификатора,в числе прочих были озвучены не возможность хибера делать булк инсерты с Idenity id и я решил это проверить от А до Я.Тоесть передо мной вадя не стоит задача сделать выгрузку файла или еще что то ,я хочу понять нужно ли вообще эту таску выполнять- так как я вижу что мы ничего не выграем в итоге -так как время выполенния вставки 50 к элементов 7 минут и в обоих случаях
...
Рейтинг: 0 / 0
Реквестируем отличников по Хибернейт в тред,петро и ваде вход воспрещен)
    #40085314
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
O_79_O,
>так как время выполенния вставки 50 к элементов 7 минут и в обоих случаях
= а с нативным sql?
))))))
...
Рейтинг: 0 / 0
Реквестируем отличников по Хибернейт в тред,петро и ваде вход воспрещен)
    #40085315
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
O_79_O,
Тебе придется выполнить с нативным sql как ты не упирайся и не лови петю)))))
...
Рейтинг: 0 / 0
Реквестируем отличников по Хибернейт в тред,петро и ваде вход воспрещен)
    #40085318
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
O_79_O,
Тебе придется выполнить с нативным sql как ты не упирайся и не лови петю)))))
однозначно
как минимум что б знать к каким цифрам стремиться.
...
Рейтинг: 0 / 0
Реквестируем отличников по Хибернейт в тред,петро и ваде вход воспрещен)
    #40085326
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадя,
Да. И как делается батчинг.
Он и в jdbc начнет аннотацию ставить)))
...
Рейтинг: 0 / 0
Реквестируем отличников по Хибернейт в тред,петро и ваде вход воспрещен)
    #40085345
O_79_O
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
PetroNotC Sharp
O_79_O,
>так как время выполенния вставки 50 к элементов 7 минут и в обоих случаях
= а с нативным sql?
))))))

с нативным 12 секунд ,хватит клоунады ,реально засираешь все топики своим бесполезным офтопом
...
Рейтинг: 0 / 0
Реквестируем отличников по Хибернейт в тред,петро и ваде вход воспрещен)
    #40085346
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
O_79_O,

код?
...
Рейтинг: 0 / 0
Реквестируем отличников по Хибернейт в тред,петро и ваде вход воспрещен)
    #40085347
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
O_79_O
PetroNotC Sharp
O_79_O,
>так как время выполенния вставки 50 к элементов 7 минут и в обоих случаях
= а с нативным sql?
))))))

с нативным 12 секунд ,хватит клоунады ,реально засираешь все топики своим бесполезным офтопом

DDL в задаче писать я тебя научил.
А профессионально не растешь
- маппинг искал 4 страницы
- сиквенсы прописывать не умеешь
- названия топиков 16летнего юнца.
"только факты и ничего личного".
Внимание вопрос! 12 сек в пакетном или без?
)))
...
Рейтинг: 0 / 0
Реквестируем отличников по Хибернейт в тред,петро и ваде вход воспрещен)
    #40085351
O_79_O
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
PetroNotC Sharp
O_79_O
пропущено...

с нативным 12 секунд ,хватит клоунады ,реально засираешь все топики своим бесполезным офтопом

DDL в задаче писать я тебя научил.
А профессионально не растешь
- маппинг искал 4 страницы
- сиквенсы прописывать не умеешь
- названия топиков 16летнего юнца.
"только факты и ничего личного".
Внимание вопрос! 12 сек в пакетном или без?
)))

внимание читайте название темы и покиньте ее ,ноль пользы - тонны офтопа ,отвечать обоим больше не буду ,все топики превращаете в помойку.
...
Рейтинг: 0 / 0
Реквестируем отличников по Хибернейт в тред,петро и ваде вход воспрещен)
    #40085357
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp,

будем наблюдать поглощение кактуса.
...
Рейтинг: 0 / 0
Реквестируем отличников по Хибернейт в тред,петро и ваде вход воспрещен)
    #40085359
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
O_79_O,
Ваше мнение вечного джуна очень важно для нас.
Работайте!
Когда напишите глупость, мы придем.
...
Рейтинг: 0 / 0
Реквестируем отличников по Хибернейт в тред,петро и ваде вход воспрещен)
    #40085360
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадя,
Ему циклы то еще рано.
Он 4 страницы два класса никак не мог связать.
...
Рейтинг: 0 / 0
Реквестируем отличников по Хибернейт в тред,петро и ваде вход воспрещен)
    #40085369
O_79_O
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Андрей Панфилов
O_79_O
в логах вот такой спам идет
В интернетах пишут что хибер неправильно логгирует батчи: https://discourse.hibernate.org/t/hibernate-issuing-individual-insert-statements-even-though-batch-insert-is-enabled/2014/2
а если ты по ссылкам пойдешь, то найдешь еще что нужно PostgreSQL крутить

не смог прикрутить эту штуку себе ,прописал этот бин ,что дальше вообще непонятно - как хибер должен понимать что ему надо этот бин дернуть - одному богу известно- вообщем да - все пишут что хибер логирует батчи не правильно....
но факт то остается фактом - время выполнения вставки одного и того же количества элементов в базу батчем (якобы) и посроковым инсертом ==одинаков

так как мы точно знаем что хибер не батчит Identity
...
Рейтинг: 0 / 0
Реквестируем отличников по Хибернейт в тред,петро и ваде вход воспрещен)
    #40085370
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Что Вы понимаете под словом "батч" в контексте Hibernate и PostgreSQL ?
...
Рейтинг: 0 / 0
Реквестируем отличников по Хибернейт в тред,петро и ваде вход воспрещен)
    #40085375
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Leonid Kudryavtsev
Что Вы понимаете под словом "батч" в контексте Hibernate и PostgreSQL ?
хороший вопрос)
...
Рейтинг: 0 / 0
Реквестируем отличников по Хибернейт в тред,петро и ваде вход воспрещен)
    #40085380
O_79_O
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Leonid Kudryavtsev
Что Вы понимаете под словом "батч" в контексте Hibernate и PostgreSQL ?


Вот это самое из учебника

Код: plsql
1.
2.
"batch":true, "querySize":1, "batchSize":5, "query":["insert into school (name, id) values (?, ?)"], 
  "params":[["School1","1"],["School2","2"],["School3","3"],["School4","4"],["School5","5"]]



а получаем вот это пока

Код: plsql
1.
2.
3.
4.
5.
"querySize":1, "batchSize":0, "query":["insert into school (name, id) values (?, ?)"], 
  "params":[["School1","1"]]
"querySize":1, "batchSize":0, "query":["insert into school (name, id) values (?, ?)"], 
  "params":[["School2","2"]]
"querySize":1, "batchSize":0, "query":["insert into school (name, id) values (?, ?)"],
...
Рейтинг: 0 / 0
Реквестируем отличников по Хибернейт в тред,петро и ваде вход воспрещен)
    #40085381
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
O_79_O,
>из учебника
= на jdbc делать не умеем. Ясно.
...
Рейтинг: 0 / 0
Реквестируем отличников по Хибернейт в тред,петро и ваде вход воспрещен)
    #40085383
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
O_79_O

Вот это самое из учебника

Код: plsql
1.
2.
"batch":true, "querySize":1, "batchSize":5, "query":["insert into school (name, id) values (?, ?)"], 
  "params":[["School1","1"],["School2","2"],["School3","3"],["School4","4"],["School5","5"]]



Из какого учебника?
Для какой базы это пример?
...
Рейтинг: 0 / 0
Реквестируем отличников по Хибернейт в тред,петро и ваде вход воспрещен)
    #40085384
O_79_O
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вообщем максимально упростил сучности убрал все связи

вот такие сейчас

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

  @Id
  @GeneratedValue(strategy = GenerationType.IDENTITY)
  private Long id;

  private String name;

}



вторая соответсвнно с секвесном

Код: 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;

}



делаю вставку по 10 000 каждой

аналитика по сучности А

Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
   65126500 nanoseconds spent preparing 10000 JDBC statements;
    32415667500 nanoseconds spent executing 10000 JDBC statements;
    0 nanoseconds spent executing 0 JDBC batches;
    0 nanoseconds spent performing 0 L2C puts;
    0 nanoseconds spent performing 0 L2C hits;
    0 nanoseconds spent performing 0 L2C misses;
    32999300 nanoseconds spent executing 1 flushes (flushing a total of 10000 entities and 0 collections);
    0 nanoseconds spent executing 0 partial-flushes (flushing a total of 0 entities and 0 collections)



время вставки 33 секунды как мы видим- батчей 0- так как сучность с идентификатором идентити

далее делаем вствку сучностей B

Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
 16900 nanoseconds spent acquiring 1 JDBC connections;
    0 nanoseconds spent releasing 0 JDBC connections;
    4382400 nanoseconds spent preparing 202 JDBC statements;
    455562600 nanoseconds spent executing 201 JDBC statements;
    34117814800 nanoseconds spent executing 20 JDBC batches;
    0 nanoseconds spent performing 0 L2C puts;
    0 nanoseconds spent performing 0 L2C hits;
    0 nanoseconds spent performing 0 L2C misses;
    34273375200 nanoseconds spent executing 1 flushes (flushing a total of 10000 entities and 0 collections);
    0 nanoseconds spent executing 0 partial-flushes (flushing a total of 0 entities and 0 collections)


видим как и положено 201 запрос в секвенс для получения id
и 20 батчей по 500 элементов в каждом

время ухудушилось на 1 секунду

статистика не будет врать я думаю - значит инсерты все таки исполняются батчами
почему тогда нет разницы по времени построчно или батчем
...
Рейтинг: 0 / 0
Реквестируем отличников по Хибернейт в тред,петро и ваде вход воспрещен)
    #40085386
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Плюс цитата про "батч" из документации PostgreSQL (и ссылка разумеется, из какого места эта цитата)

Я вот тоже, например, хочу создать топик "Объясните, как заставить Hibernate и PostgreSQL готовить по утрам яичницу с беконом пока я сплю, а то на работу приходится голодным уходить" - но ведь не создаю. Может, конечно, стоило бы. Возможно это я просто туплю ((( и не умею Hibernate для выполнения домашней работы использовать. А так хорошо бы было, если бы Hibernate и еду готовил, и пол мыл, и в стиральную машинку грязные носки.... Эх, не жизнь бы была, а красота. IMHO
...
Рейтинг: 0 / 0
Реквестируем отличников по Хибернейт в тред,петро и ваде вход воспрещен)
    #40085387
O_79_O
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Leonid Kudryavtsev
O_79_O

Вот это самое из учебника

Код: plsql
1.
2.
"batch":true, "querySize":1, "batchSize":5, "query":["insert into school (name, id) values (?, ?)"], 
  "params":[["School1","1"],["School2","2"],["School3","3"],["School4","4"],["School5","5"]]



Из какого учебника?
Для какой базы это пример?

причем тут база? ваш вопрос звучал как что такое батч в рамках Хибера - я вам ответил,учебник - по хиберу влада махайлича или как там его ,глав спец по хиберу всея планеты
...
Рейтинг: 0 / 0
Реквестируем отличников по Хибернейт в тред,петро и ваде вход воспрещен)
    #40085390
O_79_O
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Leonid Kudryavtsev
Плюс цитата про "батч" из документации PostgreSQL (и ссылка разумеется, из какого места эта цитата)

Я вот тоже, например, хочу создать топик "Объясните, как заставить Hibernate и PostgreSQL готовить по утрам яичницу с беконом пока я сплю, а то на работу приходится голодным уходить" - но ведь не создаю. Может, конечно, стоило бы. Возможно это я просто туплю ((( и не умею Hibernate для выполнения домашней работы использовать. А так хорошо бы было, если бы Hibernate и еду готовил, и пол мыл, и в стиральную машинку грязные носки.... Эх, не жизнь бы была, а красота. IMHO

тоесть вы отверагаете саму мысль что хибер умеет делать булк инсерты?))
...
Рейтинг: 0 / 0
Реквестируем отличников по Хибернейт в тред,петро и ваде вход воспрещен)
    #40085391
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
O_79_O

тоесть вы отверагаете саму мысль что хибер умеет делать булк инсерты?))


Что Вы понимаете под словами "булк инсерт" в контекте PostgreSQL ?
Ссылку на документацию, please
...
Рейтинг: 0 / 0
Реквестируем отличников по Хибернейт в тред,петро и ваде вход воспрещен)
    #40085392
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
O_79_O

причем тут база?

1.
Leonid Kudryavtsev
Что Вы понимаете под словом "батч" в контексте Hibernate и PostgreSQL ?

2.
Leonid Kudryavtsev
Плюс цитата про "батч" из документации PostgreSQL (и ссылка разумеется, из какого места эта цитата)
...
Рейтинг: 0 / 0
Реквестируем отличников по Хибернейт в тред,петро и ваде вход воспрещен)
    #40085401
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
p.s.
Я конечно немного не прав. В PostgreSQL есть "многострочный" INSERT
Я бы и ожидал его увидеть при JDBC'ном "батче". Что под "батчем" понимает JDBC PostgreSQL драйвер - не знаю, не смотрел, не проверял.
p.p.s.
Ожидать от Hibernate максимально возможной производительности (комада PostgreSQL COPY) разумеется не стоит. Через COPY можно сделать на пару порядков (десятки, сотни раз) быстрее. Но это нужно кодировать руками.
p.p.p.s.
Тема учебника не раскрыта. Что за учебник (гугле ничего такого не находит), что же именно писал автор учебника, под какую именно базу данных были примеры (подозреваю или Oracle или MS SQL)
...
Рейтинг: 0 / 0
25 сообщений из 164, страница 5 из 7
Форумы / Java [игнор отключен] [закрыт для гостей] / Реквестируем отличников по Хибернейт в тред,петро и ваде вход воспрещен)
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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