из-за ошибок памяти при импорте пользователей через фид в граалях - PullRequest
0 голосов
/ 17 марта 2012

У нас есть приложение Grails, и мы импортируем пользователей через канал CSV.Объект User Domain имеет огромный список полей (всего 85).И мы пишем функцию импорта, используя Hibernate api ... для вставки в таблицу пользователей.Прямо сейчас мы получаем ошибки памяти, если загружаем как 2000 пользователей, так как объект домена пользователя находится в памяти.

Есть ли способ оптимизировать конструкцию для устранения ошибок нехватки памяти.например, не загружать все столбцы домена пользователя при загрузке каждого столбца при необходимости.как уменьшить потребление памяти?

1 Ответ

2 голосов
/ 18 марта 2012

Взгляните на замечательную статью Теда Нейлида о пакетной обработке:

http://naleid.com/blog/2009/10/01/batch-import-performance-with-grails-and-mysql/

Последняя часть статьи (настройки производительности Grails) действительно помогла мне решить аналогичную проблему.Добавление функции cleanUpGorm и запуск ее каждые 100 записей позволили нам обработать десятки тысяч записей без проблем с памятью.

...