она берёт данные из разных таблиц, ковыряет их и пишет результат в другие таблицы. Чтобы не путаться в коде, разбиваю её на разные функции. И возникает такая ситуация, что "родительская" функция делает определенные вычисления, в результате которых получается несколько переменных, затем вызывает в цикле дочернюю функцию, которая использует эти переменные. Так вот - как их передать эти переменные, чтобы не пересчитывать их каждый раз при вызове "дочерней" функции в цикле? Создать виртуальную таблицу и передавать её имя? Или крупные объекты передаются по ссылке? Есть ли там что-то вроде copy-on-write optimization?
Да делали бы Вы как удобнее / логичнее, IMHO. Вот у Вас уже есть проблемы с производительностью? > Создать виртуальную таблицу и передавать её имя? Кстати, что такое "виртуальная таблица"? Temporary? Или переменная/параметр композитного типа?
Возможно стоит посмотреть в сторону IMMUTABLE или materialized view
Обсуждают сегодня