SQL LAPD, more in another bank will be fast

Dúvidas, dicas e truques de SQL, Select, Update, Delete, cláusulas, operações com joins, Funções em SQLs, etc
  

Poston Fri, 17 Aug 2007 5:55 pm

Well folks I'm having a problem.

I have two different banks.
A with oracle 10.1.0.4.0 Another version with the version 10.2.0.3.0 Good the same sql, with equal bases, indexes equal and tables alike.
In a bank this denorando 1 second, in other shit and takes 30 seconds.
This is the command
Code: Select all
SELECT DISTINCT pda.id_parcela
              , a.*
              , ROUND (a.vlr_autenticado, 2) AS real_autenticado
              , a.vlr_pagar real_pagar
              , b.sigla BANCO
              , s.descricao AS situacao
           FROM PARCELA_DOC_ARRECADACAO pda, ARRECADACAO a, ARRECADACAO_SITUACAO s, DOC_ARRECADACAO doc, BANCO b
          WHERE b.id_banco(+) = a.id_banco
            AND a.id_arrecadacao_situacao = s.id_arrecadacao_situacao
            AND doc.numero_controle(+) = a.numero_controle
            AND pda.id_doc_arrecadacao(+) = doc.id_doc_arrecadacao
            AND pda.id_parcela = 10791084
If I take the (+) sign will fast on both banks, dai my rule of business does not work.

Look the execution plan in each bank in the 10.1.0.4.0
Code: Select all
Operation   Object Name   Rows   Bytes   Cost   Object Node   In/Out   PStart   PStop

SELECT STATEMENT Optimizer Mode=CHOOSE      1         47601                                  
  SORT UNIQUE      1     168     47601                                  
    NESTED LOOPS      1     168     47600                                  
      NESTED LOOPS OUTER      1     142     47599                                  
        HASH JOIN      1     131     47598                                  
          TABLE ACCESS BY INDEX ROWID   BLU.PARCELA_DOC_ARRECADACAO   1     12     4                                  
            INDEX RANGE SCAN   BLU.IDX_PADOAR_ID_PARCELA   1         3                                  
          HASH JOIN RIGHT OUTER      1 M   206 M   47581                                  
           TABLE ACCESS FULL   BLU.DOC_ARRECADACAO   2 M   59 M   20520                                  
            TABLE ACCESS FULL   BLU.ARRECADACAO   1 M   168 M   6406                                  
        TABLE ACCESS BY INDEX ROWID   BLU.BANCO   1     11     1                                  
          INDEX UNIQUE SCAN   BLU.IDX_PK_BANC   1         0                                  
      TABLE ACCESS BY INDEX ROWID   BLUI.ARRECADACAO_SITUACAO   1     26     1                                  
        INDEX UNIQUE SCAN   BLU.IDX_PK_ARSI   1         0                                  
In
Code: Select all
Operation   Object Name   Rows   Bytes   Cost   Object Node   In/Out   PStart   PStop

SELECT STATEMENT Optimizer Mode=CHOOSE      1         8                                  
  HASH UNIQUE      1     187     8                                  
    NESTED LOOPS OUTER      1     187     7                                  
      NESTED LOOPS      1     176     6                                  
        NESTED LOOPS      1     150     5                                  
          NESTED LOOPS      1     34     4                                  
            TABLE ACCESS BY INDEX ROWID   BLU.PARCELA_DOC_ARRECADACAO   1     12     3                                  
              INDEX RANGE SCAN   BLU.IDX_PADOAR_ID_PARCELA   1         2                                  
            TABLE ACCESS BY INDEX ROWID   BLU.DOC_ARRECADACAO   1     22     1                                  
              INDEX UNIQUE SCAN   BLU.IDX_PK_DOAR   1         1                                  
          TABLE ACCESS BY INDEX ROWID   BLU.ARRECADACAO   1     116     1                                  
            INDEX RANGE SCAN   BLU.IDX_ARRE_NUMERO_CONTROLE   1         1                                  
        TABLE ACCESS BY INDEX ROWID   BLU.ARRECADACAO_SITUACAO   1     26     1                                  
          INDEX UNIQUE SCAN   BLU.IDX_PK_ARSI   1         1                                  
      TABLE ACCESS BY INDEX ROWID   BLU.BANCO   1     11     1                                  
        INDEX UNIQUE SCAN   BLU.IDX_PK_BANC   1         1                                  

10.2.0.3.0 could someone help me solve this problem.
is it some setting from Bank???
HenriqueMachado
Location: Blumenau - SC

Abraços,
Henrique Machado Muller

Poston Mon, 20 Aug 2007 11:14 am

I wonder if both have the same number of rows? Was it collected statistics on both equally?
dr_gori
Location: Portland, OR USA

Thomas F. G

Você já respondeu a dúvida de alguém hoje?
http://glufke.net/oracle/search.php?search_id=unanswered

Poston Mon, 20 Aug 2007 11:48 am

I wonder if both have the same number of rows?

Good Bank that LAPD is a dump of 1 day ago than going fast. that is the number of row is very approximate.
Was it collected statistics on both equally?

I won't answer you.
HenriqueMachado
Location: Blumenau - SC

Abraços,
Henrique Machado Muller

Poston Mon, 20 Aug 2007 12:54 pm

On its face, can test the LAST_ANALYZED of 2 banks.
Code: Select all
SQL> select last_analyzed
  2  from all_tables
  3  where table_name='PESSOA'
  4  /

LAST_ANALYZ
-----------
19-AUG-2007
As I'm not a DBA, you might have other better ways to test this.
dr_gori
Location: Portland, OR USA

Thomas F. G

Você já respondeu a dúvida de alguém hoje?
http://glufke.net/oracle/search.php?search_id=unanswered

Poston Mon, 20 Aug 2007 2:38 pm

Ran the sql above, and the two banks the LAST_ANALYZED this 8/16/2007 date with one of the tables involved in sql.

It is possible that some setting from Bank???
HenriqueMachado
Location: Blumenau - SC

Abraços,
Henrique Machado Muller



Return to SQL

Who is online

Users browsing this forum: No registered users and 2 guests

cron