Этот метод когда-либо работал?Это не похоже на хороший способ сделать что-то.Я могу только вообразить функцию, вызывающую огромное количество циклов обработки, когда она обрабатывает каждую строку.
Некоторые другие способы сделать это включают размещение функции как можно ближе к самой большой таблице данных и сохранение обработки на этомбаза данных.Возвращайте только то, что вам нужно, из функции.
Вы можете создать таблицу, представляющую желаемый набор данных, из запроса каждое утро и использовать Crystal для прямого запроса.Просто обновите ваши данные, как требуется, используя хранимые процедуры или расширенные очереди.
Материализованное представление одного из источников базы данных с обновлением может быть другим подходом.
РЕДАКТИРОВАТЬ: да, использование ссылок на базы данных может быть ресурсоемким и вызывать проблемы, которые вы видели.Работало ли это когда-либо или есть новое требование, решение которого вам нужно.Если раньше это работало, что изменилось?Если это ново, я смиренно предлагаю другой подход, как я предлагал.