Custo de Execução de Queries          - Oracle -  Administração de Bases de Dados      Universidade de Évora           Car...
O que fazer?1. SQL> DESC plan_table;2. Correr o script utlxplan.sql
Plan_table
Explain planEXPLAIN PLAN SET STATEMENT_ID =  DEPARTAMENTO FOR  SELECT * FROM "Departamento";Explained
Script para ler plan_tableUNDEFINE v_statement_id;SELECTid ||DECODE(id, 0, , LPAD( , 2*(level - 1))) ||   ||operation ||  ...
Ordem das operaçõesA ordem das operações é a seguinte:• A mais chegada à direita é a primeira a ser  executada, seguida pe...
Ordem das operações0 SELECT STATEMENT Cost = 61 MERGE JOIN Cost = 12        TABLE ACCESS BY INDEX ROWID PRODUCT_TYPES TABL...
Comparação de planos de execução0 SELECT STATEMENT Cost = 4………versus0 SELECT STATEMENT Cost = 5………
Sumário• O tuning é o mecanismo que permite  aumentar a performance do SQL;• O optimizador relacional é o subsistema de  u...
Próximos SlideShares
Carregando em…5
×

Custo Execução de Queries

583 visualizações

Publicada em

0 comentários
0 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

Sem downloads
Visualizações
Visualizações totais
583
No SlideShare
0
A partir de incorporações
0
Número de incorporações
71
Ações
Compartilhamentos
0
Downloads
4
Comentários
0
Gostaram
0
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Custo Execução de Queries

  1. 1. Custo de Execução de Queries - Oracle - Administração de Bases de Dados Universidade de Évora Carlos Pampulim Caldeira http://www.di.uevora.pt/~ccaldeira http://makingdatawork.blogspot.pt
  2. 2. O que fazer?1. SQL> DESC plan_table;2. Correr o script utlxplan.sql
  3. 3. Plan_table
  4. 4. Explain planEXPLAIN PLAN SET STATEMENT_ID = DEPARTAMENTO FOR SELECT * FROM "Departamento";Explained
  5. 5. Script para ler plan_tableUNDEFINE v_statement_id;SELECTid ||DECODE(id, 0, , LPAD( , 2*(level - 1))) || ||operation || ||options || ||object_name || ||object_type || ||DECODE(cost, NULL, , Cost = || position)AS “Plano de Execução”FROM plan_tableCONNECT BY PRIOR id = parent_idAND statement_id = &&v_statement_idSTART WITH id = 0AND statement_id = &v_statement_id;
  6. 6. Ordem das operaçõesA ordem das operações é a seguinte:• A mais chegada à direita é a primeira a ser executada, seguida pelas operações em cima;• Nas operações com mesma posição, a primeira a ser executada é a de topo, seguida pelas operações em cima.
  7. 7. Ordem das operações0 SELECT STATEMENT Cost = 61 MERGE JOIN Cost = 12 TABLE ACCESS BY INDEX ROWID PRODUCT_TYPES TABLE Cost = 13 INDEX FULL SCAN PRODUCT_TYPES_PK INDEX (UNIQUE) Cost = 14 SORT JOIN Cost = 25 TABLE ACCESS FULL PRODUCTS TABLE Cost = 1Ordem de execução: 3, 2, 5, 4, 1 e 0.
  8. 8. Comparação de planos de execução0 SELECT STATEMENT Cost = 4………versus0 SELECT STATEMENT Cost = 5………
  9. 9. Sumário• O tuning é o mecanismo que permite aumentar a performance do SQL;• O optimizador relacional é o subsistema de um SGBDR que gera planos de execução.

×