Плетение данных имеет некоторые проблемы с производительностью, если вы используете Global functions
или 'p()' functions
.
Если у вас есть такие функции в вашем dwl, избегайте этого.
Поскольку вы обрабатываете большой объем записей, если записи идентичны, вы можете использовать шаблон scatter-gather
и использовать асинхронную обработку записей. Вы можете дополнительно настроить производительность, настроив пул потоков, в котором вы выполняете логику преобразования / фильтрации.
Для реализации шаблона рассеяния можно обратиться по этой ссылке .
Логика заказа, которую вы реализовали в переплетении данных, может быть перемещена в пользовательский агрегатор, и вы можете изменить порядок записей в соответствии с вашей пользовательской логикой
Если ничего не помогает, рассмотрите возможность использования API-интерфейса Java8 Streams в своем пользовательском компоненте Java для фильтрации и упорядочения записей.