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

Я новичок в концепции конвейерных функций. У меня есть несколько вопросов относительно

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

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

Благодарю.

1 ответ

Решение

Процитирую "Спроси у Тома Оракула":

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

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

select * from PLSQL_FUNCTION;

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

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

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

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

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

Другие вопросы по тегам