Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Oracle Новый топик    Ответить
 отчеты через pipelined function  [new]
alienslon
Member

Откуда: оттуда
Сообщений: 154
Привет всем, хорошая ли идея формировать отчеты в Crystal вызывая pipelined functions какие могут быть плюсы и минусы VS простых селектов.

спасибо.
20 фев 13, 17:34    [13956500]     Ответить | Цитировать Сообщить модератору
 Re: отчеты через pipelined function  [new]
-2-
Member

Откуда:
Сообщений: 15330
alienslon,

минус в том, что помимо самого репорта для его изменения прийдется лезть в бд править тип и процедуру.
20 фев 13, 17:55    [13956665]     Ответить | Цитировать Сообщить модератору
 Re: отчеты через pipelined function  [new]
alienslon
Member

Откуда: оттуда
Сообщений: 154
+ PGA не грузится.
20 фев 13, 18:01    [13956715]     Ответить | Цитировать Сообщить модератору
 Re: отчеты через pipelined function  [new]
MazoHist
Guest
А почему не refcursor? Crystal Reports с ним штатно работает.
20 фев 13, 18:11    [13956762]     Ответить | Цитировать Сообщить модератору
 Re: отчеты через pipelined function  [new]
-2-
Member

Откуда:
Сообщений: 15330
alienslon
+ PGA не грузится.
куда не грузится?
20 фев 13, 18:35    [13956898]     Ответить | Цитировать Сообщить модератору
 Re: отчеты через pipelined function  [new]
alienslon
Member

Откуда: оттуда
Сообщений: 154
память жрет sys_refcursor
20 фев 13, 18:36    [13956900]     Ответить | Цитировать Сообщить модератору
 Re: отчеты через pipelined function  [new]
alienslon
Member

Откуда: оттуда
Сообщений: 154
-2-,
при использовании pipelined function меньше памяти в PGA выделяется ....вот
20 фев 13, 18:40    [13956921]     Ответить | Цитировать Сообщить модератору
 Re: отчеты через pipelined function  [new]
-2-
Member

Откуда:
Сообщений: 15330
alienslon
память жрет sys_refcursor
то есть это был упреждающий пост. И сколько же памяти занимает указатель?
alienslon
при использовании pipelined function меньше памяти в PGA выделяется ....вот
выделяется или потребляется? Сможешь продемонстрировать скриптом?
20 фев 13, 18:42    [13956927]     Ответить | Цитировать Сообщить модератору
 Re: отчеты через pipelined function  [new]
alienslon
Member

Откуда: оттуда
Сообщений: 154
http://www.oracle-base.com/articles/misc/pipelined-table-functions.php#memory_usage_comparison
20 фев 13, 18:47    [13956944]     Ответить | Цитировать Сообщить модератору
 Re: отчеты через pipelined function  [new]
-2-
Member

Откуда:
Сообщений: 15330
alienslon
http://www.oracle-base.com/articles/misc/pipelined-table-functions.php#memory_usage_comparison
это ничего, что там сравнивают не sys_refcursor или клиентский курсор (простой селект), две табличные функции?
20 фев 13, 18:54    [13956983]     Ответить | Цитировать Сообщить модератору
 Re: отчеты через pipelined function  [new]
alienslon
Member

Откуда: оттуда
Сообщений: 154
не спорю, что же лучше sys_refcursor или pipelined function использовать
20 фев 13, 18:59    [13957005]     Ответить | Цитировать Сообщить модератору
 Re: отчеты через pipelined function  [new]
orawish
Member

Откуда: Гадюкино-2 (City)
Сообщений: 15487
alienslon
не спорю, что же лучше sys_refcursor или pipelined function использовать

лучше (имхо) послать в баню обоих и использовать обычный клиетсайдовский курсор.
ежели проблема на стороне клиента его сформировать - напишите процедуру, которая вернёт текст sql
20 фев 13, 19:13    [13957057]     Ответить | Цитировать Сообщить модератору
 Re: отчеты через pipelined function  [new]
alienslon
Member

Откуда: оттуда
Сообщений: 154
под лучше имеется ввиду производительность ...тк как база OLTP + Reporting
20 фев 13, 19:17    [13957071]     Ответить | Цитировать Сообщить модератору
 Re: отчеты через pipelined function  [new]
orawish
Member

Откуда: Гадюкино-2 (City)
Сообщений: 15487
alienslon
под лучше имеется ввиду производительность ...тк как база OLTP + Reporting

а я о чём?
если наполнение для предикатов в запросах ваших порождает клиент (что для отчетов - норма)
,то все козыри у клиента - и производительность и гибкость (ибо нет необходимости типы-процедуры предсоздавать на каждый чих) и отсутствие ограничений
20 фев 13, 20:35    [13957352]     Ответить | Цитировать Сообщить модератору
 Re: отчеты через pipelined function  [new]
Shtock
Member

Откуда: СПб
Сообщений: 3049
Если селекты простые, то понятно дело лучше простые селекты, но иногда отчёты бывают такие хитро-вые%:? сделанные, что чтобы потом кроме тебя их кто-нибудь понял (даже если у тебя селекты разбиты по вьхам для понятности), приходится их делать в функциях. Опять таки, если перед запуском отчёта надо запустить какой-нибудь расчёт, то я не знаю, можно ли дёрнуть какую-либо хранимку в Crystal report до вызова отчёта, а в pipelined вначале можно сделать вызов этой функции, а потом Pipe результаты. Ответ в общем таков - в каждом случае по-разному. Зависит исключительно от задачи.
21 фев 13, 13:25    [13960585]     Ответить | Цитировать Сообщить модератору
 Re: отчеты через pipelined function  [new]
orawish
Member

Откуда: Гадюкино-2 (City)
Сообщений: 15487
Shtock
Если селекты простые, то понятно дело лучше простые селекты, но иногда отчёты бывают такие хитро-вые%:? сделанные, что чтобы потом кроме тебя их кто-нибудь понял (даже если у тебя селекты разбиты по вьхам для понятности), приходится их делать в функциях. Опять таки, если перед запуском отчёта надо запустить какой-нибудь расчёт, то я не знаю, можно ли дёрнуть какую-либо хранимку в Crystal report до вызова отчёта, а в pipelined вначале можно сделать вызов этой функции, а потом Pipe результаты. Ответ в общем таков - в каждом случае по-разному. Зависит исключительно от задачи.

по первому пункту - про такие хитро-вые%:? - никто не мешает формировать текст запроса в процедуре, а исполнять его
клиентом.
ну а что касается недоклиентов, то таки да. основания для применения сабж. именно, если клиент в смысле взаимодействия с базой убог до крайности. тут, кстати, есть вариант - клиент возможно и может, а вот человеки, которые на стороне клиента программировываблинют, тупо не владеют..
21 фев 13, 14:04    [13960968]     Ответить | Цитировать Сообщить модератору
Все форумы / Oracle Ответить