Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
03.02.2011, 17:47
|
|||
---|---|---|---|
|
|||
селек из процедуры |
|||
#18+
Привет всем. можно ли написать процедуру роторая возвращает селект, и сразу же из него селектить: Код: plaintext 1. 2. 3. 4.
... |
|||
:
Нравится:
Не нравится:
|
|||
|
03.02.2011, 17:55
|
|||
---|---|---|---|
|
|||
селек из процедуры |
|||
#18+
у нас версия аса, и новый чел придумал так селектить, лично я так никогда не делал, вот поэтому и возник вопрос. :):):) ... |
|||
:
Нравится:
Не нравится:
|
|||
|
03.02.2011, 17:55
|
|||
---|---|---|---|
селек из процедуры |
|||
#18+
Использовать хранимую процедуру в FROM можно в SA и IQ. Нельзя в ASE. Везде можно использовать подзапрос в FROM: Код: plaintext 1. 2.
... |
|||
:
Нравится:
Не нравится:
|
|||
|
03.02.2011, 17:58
|
|||
---|---|---|---|
селек из процедуры |
|||
#18+
rastaman_sashaу нас версия аса, и новый чел придумал так селектить, лично я так никогда не делал, вот поэтому и возник вопрос. :):):) В ASA это есть уже очень давно (кажется с 7-ой или 8-ой версии) Код: plaintext 1. 2.
... |
|||
:
Нравится:
Не нравится:
|
|||
|
03.02.2011, 18:04
|
|||
---|---|---|---|
|
|||
селек из процедуры |
|||
#18+
так я делаю, но вот именно такой вопрос когда бегин и энд стоит в скобках. ругается из за синтекса :) около бегин. вот и самому интересно стало можно ли так делать или нет. :):):) ... |
|||
:
Нравится:
Не нравится:
|
|||
|
03.02.2011, 23:00
|
|||
---|---|---|---|
|
|||
селек из процедуры |
|||
#18+
rastaman_sashaПривет всем. можно ли написать процедуру роторая возвращает селект, и сразу же из него селектить: Код: plaintext 1. 2. 3. 4.
А вы сами как думаете, особенно, если обратимся к стандарту. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
04.02.2011, 08:35
|
|||
---|---|---|---|
|
|||
селек из процедуры |
|||
#18+
White Owl, В принципе можно и в ASE. Для этого нужно эту хранимую процедуру прописать как прокси таблицу на свой-же сервер (local) Но мы пробовали ... получается очень долго, т.к. на каждый select создается новый connect. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
04.02.2011, 09:22
|
|||
---|---|---|---|
селек из процедуры |
|||
#18+
On 04.02.2011 8:35, _Drive_ wrote: > В принципе можно и в ASE. Для этого нужно эту хранимую процедуру > прописать как прокси таблицу на свой-же сервер (local) Можно да не нужно. И дело не в коннектах, а в том, что оптимизатору очень мало что можно сделать с такой "таблицей" в запросе. Posted via ActualForum NNTP Server 1.4 ... |
|||
:
Нравится:
Не нравится:
|
|||
|
04.02.2011, 10:11
|
|||
---|---|---|---|
|
|||
селек из процедуры |
|||
#18+
MasterZiv, оптимизатор ... пусть оптимизирует процедуру причем здесь запрос??? ... |
|||
:
Нравится:
Не нравится:
|
|||
|
04.02.2011, 12:55
|
|||
---|---|---|---|
|
|||
селек из процедуры |
|||
#18+
спасибо парни за инфу :) ... |
|||
:
Нравится:
Не нравится:
|
|||
|
04.02.2011, 15:45
|
|||
---|---|---|---|
селек из процедуры |
|||
#18+
On 04.02.2011 10:11, _Drive_ wrote: > оптимизатор ... пусть оптимизирует процедуру > причем здесь запрос??? Молодой ещё ... не понимает Posted via ActualForum NNTP Server 1.4 ... |
|||
:
Нравится:
Не нравится:
|
|||
|
07.02.2011, 11:01
|
|||
---|---|---|---|
|
|||
селек из процедуры |
|||
#18+
MasterZiv, О молодости это Вы про оптимизатор? Или Вы хотите сказать что если в процедуре есть select который использует (какие-то) индексы и если ЭТУ процедуру вызвать через select из прокси таблицы, то индексы использоваться НЕ будут ??? Если Вы о том что на result set из этой процедуры будут накладываться некие условия (в смысле WHERE), то я догадывался, что в этом случае оптимизатор не будет задействован. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
07.02.2011, 11:16
|
|||
---|---|---|---|
селек из процедуры |
|||
#18+
On 02/07/2011 11:01 AM, _Drive_ wrote: > О молодости это Вы про оптимизатор? Нет, о авторе стазанного. Т.е. о тебе. > > Или Вы хотите сказать что если в процедуре есть select > который использует (какие-то) индексы и если ЭТУ > процедуру вызвать через select из прокси таблицы, то > индексы использоваться НЕ будут ??? Именно. Или ещё какая-то оптимизация не будет использована. Если таблица явно стоит в запросе, оптимизатор всё про неё знает. Если используется процедура, то для оптимизатора она -- чёрный ящик. Очень в огранниченных случаях эта технология может применяться. Вообще, SQL и инкапсуляция данных (и их обработки) где-то -- абсолютно несовместимые вещи. > Если Вы о том что на result set из этой процедуры > будут накладываться некие условия (в смысле WHERE), то > я догадывался, что в этом случае оптимизатор не будет задействован. Оптимизатор не может быть не задействован. Он строит план, всегда. Но какой -- другой вопрос. Posted via ActualForum NNTP Server 1.4 ... |
|||
:
Нравится:
Не нравится:
|
|||
|
07.02.2011, 12:12
|
|||
---|---|---|---|
|
|||
селек из процедуры |
|||
#18+
MasterZiv, Да ... проэксперементировал ... с начала не поверил ... время исполнения хр. проц-ры практически не изменилось (в ней два insert во временные таблицы с агрегированием и потом select из одной из них с join-ом в постоянные таблицы) но посмотрел на планы запросы и .... получается что этот omni server какбы "налету" анализирует текст хранимой процедуры и пытается ее исполнить .. как бы в "пошаговом" режиме и "планы" примерно такие ... QUERY PLAN FOR STATEMENT 5 (at line 42). STEP 1 The type of query is SELECT. 1 operator(s) under root |ROOT:EMIT Operator (VA = 1) | | |SCALAR Operator (VA = 0) ... QUERY PLAN FOR STATEMENT 23 (at line 82). STEP 1 The type of query is COND. 4 operator(s) under root |ROOT:EMIT Operator (VA = 4) | | |RESTRICT Operator (VA = 3)(0)(0)(0)(4)(0) | | | | |SCALAR AGGREGATE Operator (VA = 2) | | | Evaluate Ungrouped COUNT AGGREGATE. | | | | | | |RESTRICT Operator (VA = 1)(3)(0)(0)(3)(0) | | | | | | | | |SCAN Operator (VA = 0) | | | | | FROM TABLE | | | | | sysobjects | | | | | Index : ncsysobjects | | | | | Forward Scan. | | | | | Positioning at index start. | | | | | Index contains all needed columns. Base table will not be read. | | | | | Using I/O Size 8 Kbytes for index leaf pages. | | | | | With LRU Buffer Replacement Strategy for index leaf pages. и т.д. а я предполагал что запрос на вызов хр. проц. посылается на remote сервер там исполняется как "положено", а затем result set куда-то fetch-ится и ... предается обратно на вызывающий сервер PS: не зря мы отказались от ТАКОГО использования хр. проц. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
17.02.2011, 16:41
|
|||
---|---|---|---|
|
|||
селек из процедуры |
|||
#18+
White Owlrastaman_sashaу нас версия аса, и новый чел придумал так селектить, лично я так никогда не делал, вот поэтому и возник вопрос. :):):) В ASA это есть уже очень давно (кажется с 7-ой или 8-ой версии) Код: plaintext 1. 2.
Вы уверены, что ASA8 поддерживает такую возможность ? ... |
|||
:
Нравится:
Не нравится:
|
|||
|
|
start [/forum/topic.php?fid=55&mobile=1&tid=2010404]: |
0ms |
get settings: |
8ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
48ms |
get topic data: |
12ms |
get forum data: |
2ms |
get page messages: |
47ms |
get tp. blocked users: |
2ms |
others: | 330ms |
total: | 467ms |
0 / 0 |