Vlw Chiappa... vou tentar []'s
Alex Fernando Kirsten Oracle 9i Database Administrator Certified Professional Depto. de Tecnologia Operacional Têxtil ----- Original Message ----- From: jlchiappa To: oracle_br@yahoogrupos.com.br Sent: Monday, November 27, 2006 1:50 PM Subject: [oracle_br] Re: Dúvidas com plano de execução Alex, não uso NENHUMA das tools que vc cita (já que normalmente GUIs do tipo ESCONDEM o que estão fazendo no banco por trás da telinha, o que pra mim é um ENORME fator de complicação, as desprezo normalmente por isso) , mas quando duas ferramentas apresentam planos diferentes para exatamente o ** mesmo ** SQL, as possibilidades são : a) bug em alguma delas b) dados errôneos na tabela plan_table c) diferença devido à bind variables com valores diferentes (algumas tools, como o EXPLAIN PLAN, não registram bind peeking, outras mostram. Eu recomendaria que vc DESPREZASSE, ao menos no momento, essas GUIzinhas aí e fosse DIRETO à fonte da informação, ie, via SQL numa ferramenta TEXTO, acesse diretamente as views/tabelas/opções Oracle. A tool que recomendaria seria o sqlplus, e o procedimento seria algo tipo : TRUNCAR a info hoje presente na plan_table, pedir pro usuário rodar novamente o programa que gera o SQL a analisar (que vc já sabe qual é, pelo jeito), extrair da V$SQL_PLAN o plano real usado para a execução (em sendo 10gr2 vc deverá inclusive poder extrair os valores bind via pesquisa na v$sql_bind_capture), pedir um explain plan, em havendo diferença pode ser bind peeking entrando em ação, vc poderia pedir um trace+tkprof mostram os diferentes valores de binds usados. Isso seria os primeiros passos... Pra mais info sobre os pontos citados, recomendo a documentação de Tunning, inicialmente. []s Chiappa --- Em oracle_br@yahoogrupos.com.br, "Alex Fernando Kirsten" <[EMAIL PROTECTED]> escreveu > > Olá lista, > > Estou tendo um problema de lentidão em um servidor (oracle 10gr2) e quando verifico no Enterprise Mangager, um SQL me apresenta um custo de 9881, e quando consulto no PL/SQL Developer, me apresenta um custo de 131, inclusive com um plano de execução diferente. Vejam (eliminei o nome da tabela e dos indices pra ter uma clareza melhor): > > Plano de execução mostrado pelo enterprise manager (custo 9881): > SELECT STATEMENT > TABLE ACCESS BY INDEX ROWID > INDEX FULL SCAN INDEX (UNIQUE) > > Plano de execução apresentado no pl/sql developer (custo 131): > SELECT STATEMENT > SORT ORDER BY > CONCATENATION > TABLE ACCESS BY INDEX ROWID > INDEX RANGE SCAN > TABLE ACCESS BY INDEX ROWID > INDEX RANGE SCAN > TABLE ACCESS BY INDEX ROWID > INDEX RANGE SCAN > TABLE ACCESS BY INDEX ROWID > INDEX RANGE SCAN > TABLE ACCESS BY INDEX ROWID > INDEX RANGE SCAN > > A consulta é realizada em cima de uma unica tabela (não existem relacionamentos). Obviamente, ambos os planos foram obtidos com o mesmo sql. Alguém já passou por algum problema parecido? > > []'s > > Alex Fernando Kirsten > Oracle 9i Database Administrator Certified Professional > Depto. de Tecnologia > Operacional Têxtil > > > [As partes desta mensagem que não continham texto foram removidas] > [As partes desta mensagem que não continham texto foram removidas]