
Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
04.07.2011, 18:26
|
|||
|---|---|---|---|
|
|||
Sybase SA 9.x и выше: Вопрос про multiple table expressions |
|||
|
#18+
Hi All, Sybase 12.0.1 Есть запрос вида: with recursive (Q1(...) as select <initial-subquery> union all select <recursive-subquery>), (Q2(...) as select <initial-subquery> union all select <recursive-subquery>) select ... from Q2 В Q1 я делаю выборку по дереву, а в Q2 мне надо для каждой строки Q1 сделать дополнительную (древовидную) проверку и строки не выдержавшие этой проверки не должны быть в конечной выборке. Проблема в том, что я не знаю как передать в Q2 для <initial-subquery> код текущей строки из Q1, что бы было от чего отталкиваться при формировании в Q2 проверочного дерева. Единственное, что мне пока пришло в голову, это оформить код Q2 в виде функции (UDF). Но хочется обойтись только запросом без использования функции. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
05.07.2011, 12:06
|
|||
|---|---|---|---|
Sybase SA 9.x и выше: Вопрос про multiple table expressions |
|||
|
#18+
Я бы порекомендовал результат древовидного запроса вогнать во времянку и уже по ней провести проверку, что возвращать клиентскому приложению, а что нет. Можно конечно наверное извернуться и написать все одним запросом, но в дальнейшем это будет означать как минимум, что запрос будет плохо читабельным для его возможного понимания и изменения в будущем и могут появиться проблемы оптимизации работы запроса. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
05.07.2011, 19:10
|
|||
|---|---|---|---|
|
|||
Sybase SA 9.x и выше: Вопрос про multiple table expressions |
|||
|
#18+
Правильно я понял, что вы предлагаете создать SP, объявить в ней временную таблицу, загнать в эту таблицу данные запроса Q1, затем натравить на эту таблицу проверочный запрос Q2 и выдать конечный результат пользователю ? Но это ведь сложнее, чем мой возможный вариант с UDF про который я написал в первом сообщении ... Или я не так понял ваш совет ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
07.07.2011, 11:42
|
|||
|---|---|---|---|
Sybase SA 9.x и выше: Вопрос про multiple table expressions |
|||
|
#18+
Stalker4, Мой совет сложнее только тем, что кода больше. Но он может оказаться легче в читабельности и производительности. С SQL можно сказать не всегда работает принцип "Чем меньше кода, тем легче и надежнее". Это конечно философский вопрос, но при проектировании логики в РСУБД в отличие от императивных языков, я в первую очередь смотрю на производительность и читабельность (то есть понимание логики) кода, а уже потом на его универсальность, размеры и прочее. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=55&mobile=1&tid=2010281]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
164ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
43ms |
get tp. blocked users: |
1ms |
| others: | 13ms |
| total: | 262ms |

| 0 / 0 |

Извините, этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
... ля, ля, ля ...