[ОТВЕТИТЬ]
Опции темы
05.12.2012 12:40  
mary
Народ, может кто-то сталкивался. Есть 2 базы, по параметрам одинаковые, но в одной базе №1 запрос использует индекс,а во второй, база №2, нет. В базе №2 идет TABLE ACCESS FULL и запрос выполняется минут 10. Включила в базе №2 хинт /*+RULE*/ запрос отрабатывает за секунды и в плане использует индекс, но желательно что бы без хинта шел по плану с индексом. Есть какие нибудь мысли ? Oracle 11.2.0.3.0 - 64bit Production
 
05.12.2012 14:49  
Pblcb
А после сбора статистики такое же поведение?
 
05.12.2012 15:01  
mary
Да, при чем удалила всю статистику в 2х базах и собрала заново. Вот что смущает:
Сделала на базе №1, где план использует индекс, alter system flush shared_pool смотрю план выполнения

select sql_text, SQL_ID, SQL_FULLTEXT, dbms_xplan.display_cursor(sql_id, child_number, 'ALL ALLSTATS LAST') from v$sql
where SQL_FULLTEXT like '%connect by prior O.ID=O.ContrObj_Id Start with O.ContrObj_Id is null%';

не меняется и sql_id тотже что и был.

На базе №2 (так как рабочая) очистила только нужный план с помощью exec DBMS_SHARED_POOL.PURGE - запускаю, план выполнения тот же (без индекса), sql_id другой.

Где то я туплю :(
 
06.12.2012 22:05  
OlegON
голосую за сбор статистики, причем попробуй analyze table compute statistics for all indexed columns, наверное. уж больно часто меня dbms_stats огорчает.
 
19.02.2013 09:50  
mary
В общем выяснила, тупит оракл и СВО. Может кому пригодится, выдержка с металинка:
Данная проблема описана в
Bug 13263174 : SQL PERFORMANCE ISSUE WITH CONNECT BY NO FILTERING ACCESS PATH IN 11.2.0.2:
=============================
DETAILED PROBLEM DESCRIPTION
============================
When CBO uses CONNECT BY NO FILTERING WITH START-WITH a sub-optimal plan is
used

к сожалению one-off patch существуют только для 11.2.0.2, но проблема проявляется и в 11.2.0.3, согласно документу:
Bug 13263174 - Suboptimal plan for some CONNECT BY queries [ID 13263174.8], данный Bug исправлен в 12.1 dthcbb


Как вариант решения:

alter system set "_connect_by_use_union_all" = "old_plan_mode";

Но можно словить кучу других граблей :((
 
"Спасибо" mary от:
 
Опции темы



Часовой пояс GMT +3, время: 14:31.

Все в прочитанное - Календарь - RSS - - Карта - Вверх 👫 Яндекс.Метрика
Форум сделан на основе vBulletin®
Copyright ©2000 - 2016, Jelsoft Enterprises Ltd. Перевод: zCarot и OlegON
В случае заимствования информации гипертекстовая индексируемая ссылка на Форум обязательна.