Поиск

L2AVADON

СТАТЬИ

Табличные функции
ГлавнаяЯзык PL/SQL → Табличные функции

 

 

Табличной функцией называется функция, которая может быть ис­пользована в запросе в качестве источника данных. Например, вы мо­жете поместить табличную функцию в предложение FROM оператора SE­LECT в программе на PL/SQL. Еще более важно, что табличная функ­ция может возвращать записи. (Фактически она возвращает коллек­цию объектов.) Уже эти две возможности делают табличные функции очень полезными в ситуациях, требующих сокрытия сложностей обра­ботки за одним оператором SELECT, например в отчетах и компонентах API. Добавьте сюда возможности конвейерной и параллельной обра­ботки, и вы получите мощнейший инструмент для работы с ETL-про-цессами (Extraction, Transformation, Loading - извлечение, преобра­зование и загрузка данных) в хранилищах данных.

Понятно, что табличные функции полезны для тех, кто разрабатывает отчеты и имеет дело с хранилищами данных, но у вас может возник­нуть вопрос, зачем они нужны администраторам баз данных. В двух словах ответ таков: вам надо знать о них потому, что остальные со­трудники вашей организации могут быть не в курсе. Многие разработ­чики даже не слышали о существовании табличных функций, не гово­ря уже о том, чтобы использовать их для повышения производитель­ности приложений - вот тут-то и нужен администратор базы данных. Представьте себе отчет, в котором запрос вслед за изменяющимися требованиями стал настолько сложным, что производительность стала неприемлемо низкой. Разработчик может перепробовать все комбина­ции подзапросов и внешних соединений - и все безрезультатно. Оче­видно, что обработка стала намного сложнее того, что можно ожидать от одного оператора SELECT, но интерфейс отчета требует, чтобы она бы­ла сосредоточена в единственном операторе. В таких ситуациях адми­нистраторы баз данных часто бросаются в бой и стремятся помочь раз­работчику, строя планы выполнения и различным образом секциони­


 
1 2