![]() |
Модераторы: LSD |
![]() ![]() ![]() |
|
tishaishii |
|
||||
![]() Создатель ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1262 Регистрация: 14.2.2006 Где: Москва Репутация: 1 Всего: 8 |
Добрый вечер!
Дерево представлено в виде таблицы:
Дана строка:
Как с помощью запроса получить запись из T1, соотвествующую пути S1? Это сообщение отредактировал(а) tishaishii - 4.7.2013, 21:21 |
||||
|
|||||
Akina |
|
|||
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 3 Всего: 454 |
Модифицировать таблицу, добавить поле материализованного пути
-------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
tishaishii |
|
|||
![]() Создатель ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1262 Регистрация: 14.2.2006 Где: Москва Репутация: 1 Всего: 8 |
Как вариант - да. Спомощью системы триггеров и поля T1.path.
Довольно быстрый вариант. Но интересна задача с with-recursive. Это сообщение отредактировал(а) tishaishii - 4.7.2013, 22:47 |
|||
|
||||
Zloxa |
|
|||
![]() Чо? ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3473 Регистрация: 12.9.2008 Репутация: 3 Всего: 161 |
На оракле.
На ПГ, думаю, вполне преводимо.
Всамделе можно было бы попроще, но работало бы подольше. Можно было просто построть рекурсивкой путь а потом отобраться по нему. Это по любому фулскан. Это не интересно. Здесь же я сначала отбираюсь по имени узла, отсекаю не листовые узлы, затем разматываюсь вверх, достраиваю путь. В случае если имя узла имеет малую селективность и поле с его именем индексировано, индексирован parent_id, должно работать нормально. Индекс по ID, я полагаю как само собой разумеющееся. Это сообщение отредактировал(а) Zloxa - 5.7.2013, 10:35 -------------------- Достоверно известно, что 89% людей доверяют статистике взятой с потолка ![]() |
|||
|
||||
tishaishii |
|
|||
![]() Создатель ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1262 Регистрация: 14.2.2006 Где: Москва Репутация: 1 Всего: 8 |
Спасибо большое!
Правда, лучше уж пользоваться другими методами поиска. |
|||
|
||||
![]() ![]() ![]() |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | PostgreSQL | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |