База данных: конвейерные функции

Я плохо знаком с понятием Конвейерных Функций. У меня есть некоторые вопросы относительно

С точки зрения Базы данных:

  • Что такое на самом деле Конвейерная функция?
  • Каково преимущество использования Конвейерной Функции?
  • Какие проблемы решены с помощью Конвейерной Функции?
  • Любые преимущества оптимизации использования Конвейерной Функции?

Спасибо.

5
задан Rachel 22 May 2010 в 17:37
поделиться

1 ответ

Цитата из «Спроси Тома Оракула»:

конвейерные функции - это просто «код, который вы можете представить как таблица базы данных»

конвейерные функции дают вам (удивительно для меня) возможность

выбирать * из PLSQL_FUNCTION;

в любое время, когда вы думаете, что можете его использовать - чтобы выбрать * из функции, вместо таблицы, она может быть «полезным».

Что касается преимуществ: большое преимущество использования конвейерной функции состоит в том, что ваша функция может возвращать строки одну за другой, в отличие от построения всего набора результатов в памяти целиком перед его возвратом.

Вышеупомянутое дает очевидную оптимизацию - экономию памяти за счет чего-то, что в противном случае возвращало бы большой набор результатов.

Достаточно интересный пример использования конвейерных функций здесь

Что кажется хорошим их использованием, так это ETL (извлечение / преобразование / загрузка) - , например, см. Здесь

7
ответ дан 14 December 2019 в 08:44
поделиться
Другие вопросы по тегам:

Похожие вопросы: