Hello, All!

FB2 RC1 2.0.0.12484
Для гусар скажу сразу, что интерес теоретический, и как решить
проблему на практике я знаю :). Просто интересно.
Проверяем, сколько таблиц сервер может переварить в запросе
(я помню про 25? контекстов в запросе :)
Делаем такой вот кривой запрос - препаре занимает 18 сек, что в
принципе и ожидалось. Но пытливое воображение не останавливается,
и делается попытка задать план вручную - может ли это что-то ускорить.
И тут сервер уходит в кому - время подготовки увеличивается на порядок
(проверено на 20 таблицах, для 30 дождаться завершения процесса не получилось).

Интересно, почему так?

select o.* from objects o
join objects o1 on o.id_obj=o1.p_1
join objects o2 on o.id_obj=o2.p_1
join objects o3 on o.id_obj=o3.p_1
join objects o4 on o.id_obj=o4.p_1
join objects o5 on o.id_obj=o5.p_1
join objects o6 on o.id_obj=o6.p_1
join objects o7 on o.id_obj=o7.p_1
join objects o8 on o.id_obj=o8.p_1
join objects o9 on o.id_obj=o9.p_1
join objects o10 on o.id_obj=o10.p_1
join objects o11 on o.id_obj=o11.p_1
join objects o12 on o.id_obj=o12.p_1
join objects o13 on o.id_obj=o13.p_1
join objects o14 on o.id_obj=o14.p_1
join objects o15 on o.id_obj=o15.p_1
join objects o16 on o.id_obj=o16.p_1
join objects o17 on o.id_obj=o17.p_1
join objects o18 on o.id_obj=o18.p_1
join objects o19 on o.id_obj=o19.p_1
join objects o20 on o.id_obj=o20.p_1
join objects o21 on o.id_obj=o21.p_1
join objects o22 on o.id_obj=o22.p_1
join objects o23 on o.id_obj=o23.p_1
join objects o24 on o.id_obj=o24.p_1
join objects o25 on o.id_obj=o25.p_1
join objects o26 on o.id_obj=o26.p_1
join objects o27 on o.id_obj=o27.p_1
join objects o28 on o.id_obj=o28.p_1
join objects o29 on o.id_obj=o29.p_1
join objects o30 on o.id_obj=o30.p_1
where o.id_obj>45 and o.id_obj<1000
PLAN JOIN (O1 INDEX (OBJECTS_IDX2), O INDEX (PK_OBJECTS), O30 INDEX
(OBJECTS_IDX2),
O29 INDEX (OBJECTS_IDX2), O28 INDEX (OBJECTS_IDX2), O27 INDEX
(OBJECTS_IDX2), O26 INDEX (OBJECTS_IDX2),
O25 INDEX (OBJECTS_IDX2), O24 INDEX (OBJECTS_IDX2), O23 INDEX
(OBJECTS_IDX2), O22 INDEX (OBJECTS_IDX2),
O21 INDEX (OBJECTS_IDX2), O20 INDEX (OBJECTS_IDX2), O19 INDEX
(OBJECTS_IDX2), O18 INDEX (OBJECTS_IDX2),
O17 INDEX (OBJECTS_IDX2), O16 INDEX (OBJECTS_IDX2), O15 INDEX
(OBJECTS_IDX2), O14 INDEX (OBJECTS_IDX2),
O13 INDEX (OBJECTS_IDX2), O12 INDEX (OBJECTS_IDX2), O11 INDEX
(OBJECTS_IDX2), O10 INDEX (OBJECTS_IDX2),
O9 INDEX (OBJECTS_IDX2), O8 INDEX (OBJECTS_IDX2), O7 INDEX (OBJECTS_IDX2),
O6 INDEX (OBJECTS_IDX2),
O5 INDEX (OBJECTS_IDX2), O4 INDEX (OBJECTS_IDX2), O3 INDEX (OBJECTS_IDX2),
O2 INDEX (OBJECTS_IDX2))

--
-=Деньги - злo! Для пoдрoбнoй инфoрмации пришлите $10=-
With best regards, Nikolay Ponomarenko

Ответить