connect by

nxx
Дата: 14.03.2011 12:09:03
есть вьюха (ну или подзапрос, не суть)

select ...
from t
where connect_by_is_leaf = 1
connect by prior source_id = id

можно ли избежать фуллскана
при запросе вида -

select
from
(
select ...
from t
where connect_by_is_leaf = 1
connect by prior source_id = id
)
where other_id = 999

(уникальный индекс по other_id есть)

чует мое сердце что нельзя, но на всякий случай спрашиваю
AlexFF__|
Дата: 14.03.2011 12:12:54
nxx,
Если пары source_id <-> id не зависят от other_id, то почему вначале не сделать нужную выборку.
А если зависят, то причем тут индекс по other_id?

Либо Вы, либо я что-то не поняли.
nxx
Дата: 14.03.2011 12:31:52
AlexFF__|
nxx,
Если пары source_id <-> id не зависят от other_id, то почему вначале не сделать нужную выборку.
А если зависят, то причем тут индекс по other_id?

Либо Вы, либо я что-то не поняли.


вначале нельзя, ибо вьюха
other_id = 999 может быть, а может не быть
это частный случай

зависят.
other_id это по сути id дерева
все записи внутри одного дерева имеют одинаковый other_id
AlexFF__|
Дата: 14.03.2011 12:39:29
nxx
все записи внутри одного дерева имеют одинаковый other_id


nxx
вначале нельзя, ибо вьюха
other_id = 999 может быть, а может не быть


Кровь, говно, песок и сахар.
bsr
Дата: 14.03.2011 12:49:33
такое не поможет?:


start with other_id = 999

и/или

prior other_id = 999
nxx
Дата: 14.03.2011 12:50:46
bsr
такое не поможет?:


start with other_id = 999

и/или

prior other_id = 999


а если понадобится из вьюхи выбрать всё (т.е. все other_id) ?
bsr
Дата: 14.03.2011 13:04:42
AlexFF__|
Кровь, говно, песок и сахар.


nxx,
т.е. имеется вьюха на которую необходимо навесить внешнее ограничение, которое "просочится" внутрь вьюхи и обрежет данные на уровне вьюхи?

может параметризованные вью...
nxx
Дата: 14.03.2011 13:43:59
bsr
может параметризованные вью...


как параметризованные ?
контекст ?

ммм.... что-то эта мысль не пришла мне в голову...