Поиск

L2AVADON

СТАТЬИ

Курсоры, конвейеризация, вложение
ГлавнаяЯзык PL/SQLТабличные функции → Курсоры, конвейеризация, вложение

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

Курсоры

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

Конвейеризация

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


выми исследованиями, посмотрим, что произойдет, если функции надо выполнить 100 проверок, каждая из которых занимает 3 секун­ды. Это означает, что следующий этап обработки сможет начаться только через 5 минут. При конвейерной обработке он начнется через 3 секунды.

 
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17