"Nikolay Ponomarenko" <[EMAIL PROTECTED]> wrote: > > Продолжая, сугубо теоретические, эксперименты с большими базами,
Кеша серверу сколько установил? > мучаю таблицу с 1млрд записей, джойня саму с собой > > select o.* from objects o > join objects o1 on o1.p_1=o.id_obj > where o.id_obj<3 > > нидекс по p_1, есесно хуже, чем по ПК id_obj, и на таком запросе сервер > сваливается, как я могу понять, в перебор всей o1? > > PLAN JOIN (O1 INDEX (OBJECTS_IDX2), O INDEX (PK_OBJECTS)) Не верю (с) По O1 нет граничных условий, так что INDEX (OBJECTS_IDX2) тут быть не может. Должен быть натурал. > лечится это нашим излюбленным хинтом on o1.p_1=o.id_obj+0 > получая PLAN JOIN (O INDEX (PK_OBJECTS), O1 INDEX (OBJECTS_IDX2)) Такой план будет очень хорош при <3 и очень плох при >3. Оптимизатор учитывает средний вариант, требующий скана половины таблицы. -- Дмитрий Еманов --~--~---------~--~----~------------~-------~--~----~ -~----------~----~----~----~------~----~------~--~---

