Документы Grails обновлены:
http://grails.org/doc/1.0.x/
В разделе 5.2.4 они обсуждают потенциальные проблемы производительности для типов коллекций.
Вот соответствующий раздел:
Замечание о типах и производительности коллекции
Тип Java Set - это коллекция, которая не допускает дублирование. Чтобы обеспечить уникальность при добавлении записи в Ассоциацию множеств, Hibernate должен загрузить все ассоциации из базы данных. Если у вас есть большое количество записей в ассоциации, это может быть дорого с точки зрения производительности.
Такое же поведение требуется для типов списков, поскольку Hibernate должен загрузить всю ассоциацию, чтобы поддерживать порядок. Поэтому, если вы ожидаете большое количество записей в ассоциации, рекомендуется сделать ассоциацию двунаправленной, чтобы ссылка могла быть создана на обратной стороне. Например, рассмотрим следующий код:
def book = new Book(title:"New Grails Book")
def author = Author.get(1)
book.author = author
book.save()
В этом примере ссылка на ассоциацию создается дочерним объектом (Book), и, следовательно, нет необходимости напрямую манипулировать коллекцией, что приводит к уменьшению количества запросов и повышению эффективности кода. Если у вас будет Автор с большим количеством связанных экземпляров Book, если вы будете писать код, подобный следующему, вы увидите влияние на производительность:
def book = new Book(title:"New Grails Book")
def author = Author.get(1)
author.addToBooks(book)
author.save()