You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Тем не менее, всё равно вставка данных 628000 пользователей занимает значительное время (много часов). Если бы инсёрт был полностью батчевым (как при восстановлении батча базы, будто мы сгенерировали все insert into, а потом запустили их. Можно вручную создавать id или вообще использовать playerId и gametype.info.id в качестве айдишников), он был бы точно намного быстрей.
Попробовать установить размер батча ещё побольше. Насколько я понимаю, это не сильно поможет, ведь не так много игроков, у которых сильно больше сотни словарей.
Подумать, как вообще все инсёрты делать батчевыми. Возможно, делать каскадное сохранение Player вместе со всем списком его VocabularyStats). В идеале и самих плееров сохранять тоже в батче.
В крайнем случае реально генерировать insert, а потом запустить этот большой файл. Но не хотелось бы прибегать к таким хакам.
похоже, что решение было найдено вот здесь — https://stackoverflow.com/a/3420303/8534088. Батчевая предвыборка из sequence позволила феерически снизить количество запросов к sequence (инсёрты уже честно батчились согласно настройке и до этого):
Следующие сводки на 1000 юзерах + 2492 voc_stats для этих юзеров.
До фикса:
Для #19 вроде бы установлен батчевый insert согласно https://www.baeldung.com/spring-data-jpa-batch-inserts, все строки статистики одного игрока вставляются через
CrudRepository#saveAll
.Тем не менее, всё равно вставка данных 628000 пользователей занимает значительное время (много часов). Если бы инсёрт был полностью батчевым (как при восстановлении батча базы, будто мы сгенерировали все
insert into
, а потом запустили их. Можно вручную создавать id или вообще использовать playerId и gametype.info.id в качестве айдишников), он был бы точно намного быстрей.Player
вместе со всем списком егоVocabularyStats
). В идеале и самих плееров сохранять тоже в батче.insert
, а потом запустить этот большой файл. Но не хотелось бы прибегать к таким хакам.The text was updated successfully, but these errors were encountered: