Я работаю над проблемами скорости с помощью текущего метода, который находит определенную совокупность атрибутов в пределах ArrayList
. В зависимости от размера для поиска значения в списке может потребоваться больше 7 секунд.Grails: ArrayList - скорость поиска
Мне нужно ускорить этот процесс, поэтому я могу иметь дело с большими объемами данных. Будем очень благодарны любой помощи. Вот мой пример;
Метод:
public ArrayList getIntegrationTag(String attribute) {
return crmMapping?.findAll { it.get("ATTRIBUTE") == attribute }?.collect{
it.INTEGRATION_TAG
}?.unique()
}//end getIntegrationTag(String attribute)
содержание crmMapping
«[{ПРИЗНАК = AcademicIndex, INTEGRATION_TAG = Контакт ~ nAcademic_Index}, {ПРИЗНАК = AcademicInterest, INTEGRATION_TAG = Контакт ~ msplAcademic_Interest} , ........] "
Почему коллекция должна быть такой большой? Предполагая, что 'crmMapping' очень большой. – Bart
Это относительно большой (более 10 000 символов). Он содержит всю информацию о сопоставлении полей для импорта данных в нашу систему Oracle CRM с использованием веб-служб. –