SlideShare ist ein Scribd-Unternehmen logo
1 von 9
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
O que fazer?
1. SQL> DESC plan_table;
2. Correr o script utlxplan.sql
Plan_table
Explain plan
EXPLAIN PLAN SET STATEMENT_ID =
  'DEPARTAMENTO' FOR
  SELECT * FROM "Departamento";
Explained
Script para ler plan_table
UNDEFINE v_statement_id;

SELECT
id ||
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_table
CONNECT BY PRIOR id = parent_id
AND statement_id = '&&v_statement_id'
START WITH id = 0
AND statement_id = '&v_statement_id';
Ordem das operações
A 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.
Ordem das operações
0 SELECT STATEMENT Cost = 6
1 MERGE JOIN Cost = 1
2        TABLE ACCESS BY INDEX ROWID PRODUCT_TYPES TABLE Cost = 1
3                 INDEX FULL SCAN PRODUCT_TYPES_PK INDEX (UNIQUE) Cost = 1
4        SORT JOIN Cost = 2
5                 TABLE ACCESS FULL PRODUCTS TABLE Cost = 1


Ordem de execução: 3, 2, 5, 4, 1 e 0.
Comparação de planos de execução
0 SELECT STATEMENT Cost = 4
………
versus
0 SELECT STATEMENT Cost = 5
………
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.

Weitere ähnliche Inhalte

Andere mochten auch

Actividade de música
Actividade de músicaActividade de música
Actividade de música
Basilio
 
Numeros Da Gata
Numeros Da GataNumeros Da Gata
Numeros Da Gata
luigei
 
Contour making in Arcgis 9.2
Contour making in Arcgis 9.2Contour making in Arcgis 9.2
Contour making in Arcgis 9.2
luqman321
 
Visita De Estudo Economia A
Visita De Estudo Economia AVisita De Estudo Economia A
Visita De Estudo Economia A
Paula Silva
 
Plan De Asignatu Ra
Plan De Asignatu RaPlan De Asignatu Ra
Plan De Asignatu Ra
guestd6f218
 
URETA KIM TAEKWONDO
URETA KIM TAEKWONDOURETA KIM TAEKWONDO
URETA KIM TAEKWONDO
Ureta
 
Listado Tanganika Marzo
Listado Tanganika MarzoListado Tanganika Marzo
Listado Tanganika Marzo
Miguel Mora
 

Andere mochten auch (20)

Excursión a Polvoranca
Excursión a PolvorancaExcursión a Polvoranca
Excursión a Polvoranca
 
Exprexionblend
ExprexionblendExprexionblend
Exprexionblend
 
Catalogo Set Decoden
Catalogo Set DecodenCatalogo Set Decoden
Catalogo Set Decoden
 
Actividade de música
Actividade de músicaActividade de música
Actividade de música
 
Numeros Da Gata
Numeros Da GataNumeros Da Gata
Numeros Da Gata
 
Contour making in Arcgis 9.2
Contour making in Arcgis 9.2Contour making in Arcgis 9.2
Contour making in Arcgis 9.2
 
Visita De Estudo Economia A
Visita De Estudo Economia AVisita De Estudo Economia A
Visita De Estudo Economia A
 
TechDays 2010 DAT202
TechDays 2010 DAT202TechDays 2010 DAT202
TechDays 2010 DAT202
 
Homo Habilis 1
Homo Habilis 1Homo Habilis 1
Homo Habilis 1
 
Plan De Asignatu Ra
Plan De Asignatu RaPlan De Asignatu Ra
Plan De Asignatu Ra
 
PresentacióN1
PresentacióN1PresentacióN1
PresentacióN1
 
Cáncer de pulmón
Cáncer de pulmónCáncer de pulmón
Cáncer de pulmón
 
URETA KIM TAEKWONDO
URETA KIM TAEKWONDOURETA KIM TAEKWONDO
URETA KIM TAEKWONDO
 
And
AndAnd
And
 
exp
expexp
exp
 
Listado Tanganika Marzo
Listado Tanganika MarzoListado Tanganika Marzo
Listado Tanganika Marzo
 
Eyeblaster - Idéias para a Copa do Mundo 2010
Eyeblaster - Idéias para a Copa do Mundo 2010Eyeblaster - Idéias para a Copa do Mundo 2010
Eyeblaster - Idéias para a Copa do Mundo 2010
 
¿Qué es un reportaje?
¿Qué es un reportaje?¿Qué es un reportaje?
¿Qué es un reportaje?
 
Mec
MecMec
Mec
 
IPUINAK-LIBURUAK
IPUINAK-LIBURUAKIPUINAK-LIBURUAK
IPUINAK-LIBURUAK
 

Ähnlich wie Custo Execução de Queries

Banco de dados aula 4
Banco de dados aula 4Banco de dados aula 4
Banco de dados aula 4
Ed W. Jr
 
Apresentando o EcmaScript 6
Apresentando o EcmaScript 6Apresentando o EcmaScript 6
Apresentando o EcmaScript 6
Giovanni Bassi
 

Ähnlich wie Custo Execução de Queries (20)

Stored Procedures and Triggers
Stored Procedures and TriggersStored Procedures and Triggers
Stored Procedures and Triggers
 
Python 04
Python 04Python 04
Python 04
 
Sql proficiente
Sql proficienteSql proficiente
Sql proficiente
 
Stored Procedures com PostgreSQL: porque usar.
Stored Procedures com PostgreSQL:  porque usar.Stored Procedures com PostgreSQL:  porque usar.
Stored Procedures com PostgreSQL: porque usar.
 
Oracle Database 12c - Novas Características para DBAs e Desenvolvedores
Oracle Database 12c - Novas Características para DBAs e DesenvolvedoresOracle Database 12c - Novas Características para DBAs e Desenvolvedores
Oracle Database 12c - Novas Características para DBAs e Desenvolvedores
 
.Net Community Summit 2018 - Aplicações .NET inteligentes com escala horizont...
.Net Community Summit 2018 - Aplicações .NET inteligentes com escala horizont....Net Community Summit 2018 - Aplicações .NET inteligentes com escala horizont...
.Net Community Summit 2018 - Aplicações .NET inteligentes com escala horizont...
 
Banco de dados aula 4
Banco de dados aula 4Banco de dados aula 4
Banco de dados aula 4
 
Apresentando o EcmaScript 6
Apresentando o EcmaScript 6Apresentando o EcmaScript 6
Apresentando o EcmaScript 6
 
Aula1
Aula1Aula1
Aula1
 
Doctrine for Dummies
Doctrine for DummiesDoctrine for Dummies
Doctrine for Dummies
 
um breve treinamento sobre SQL e suas funcionalidades
um breve treinamento sobre SQL e suas funcionalidadesum breve treinamento sobre SQL e suas funcionalidades
um breve treinamento sobre SQL e suas funcionalidades
 
Jdbc, JAVA DATABASE CONNECTIVITY
Jdbc, JAVA DATABASE CONNECTIVITYJdbc, JAVA DATABASE CONNECTIVITY
Jdbc, JAVA DATABASE CONNECTIVITY
 
Stored procedure
Stored procedureStored procedure
Stored procedure
 
Oracle 11g
Oracle 11gOracle 11g
Oracle 11g
 
Oracle 11g - Fundamentos
Oracle 11g - FundamentosOracle 11g - Fundamentos
Oracle 11g - Fundamentos
 
2832014 curso plsql
2832014 curso plsql2832014 curso plsql
2832014 curso plsql
 
Fundamentos de SQL - Parte 3 de 8
Fundamentos de SQL - Parte 3 de 8Fundamentos de SQL - Parte 3 de 8
Fundamentos de SQL - Parte 3 de 8
 
Oracle e SQL Server na prática mitos, semelhanças e diferenças
Oracle e SQL Server na prática mitos, semelhanças e diferençasOracle e SQL Server na prática mitos, semelhanças e diferenças
Oracle e SQL Server na prática mitos, semelhanças e diferenças
 
Modulo 15 PSI
Modulo 15 PSIModulo 15 PSI
Modulo 15 PSI
 
Ganhando tempo com casos de testes
Ganhando tempo com casos de testesGanhando tempo com casos de testes
Ganhando tempo com casos de testes
 

Mehr von Carlos Pampulim Caldeira

Administração de Bases de Dados - Introdução
Administração de Bases de Dados - IntroduçãoAdministração de Bases de Dados - Introdução
Administração de Bases de Dados - Introdução
Carlos Pampulim Caldeira
 
Revisão do Desenho da Base de Dados - Design Review
Revisão do Desenho da Base de Dados - Design ReviewRevisão do Desenho da Base de Dados - Design Review
Revisão do Desenho da Base de Dados - Design Review
Carlos Pampulim Caldeira
 
Administração de Base de Dados: Desenho da Aplicação
Administração de Base de Dados: Desenho da AplicaçãoAdministração de Base de Dados: Desenho da Aplicação
Administração de Base de Dados: Desenho da Aplicação
Carlos Pampulim Caldeira
 

Mehr von Carlos Pampulim Caldeira (20)

Administração de Bases de Dados - Introdução
Administração de Bases de Dados - IntroduçãoAdministração de Bases de Dados - Introdução
Administração de Bases de Dados - Introdução
 
Estatísticas | Oracle | 2015
Estatísticas | Oracle | 2015Estatísticas | Oracle | 2015
Estatísticas | Oracle | 2015
 
Afinação da Aplicação | Caminho de Acesso aos Dados
Afinação da Aplicação | Caminho de Acesso aos DadosAfinação da Aplicação | Caminho de Acesso aos Dados
Afinação da Aplicação | Caminho de Acesso aos Dados
 
Revisão do Desenho da Base de Dados | 2015
Revisão do Desenho da Base de Dados | 2015Revisão do Desenho da Base de Dados | 2015
Revisão do Desenho da Base de Dados | 2015
 
Disponibilidade da Base de Dados
Disponibilidade da Base de DadosDisponibilidade da Base de Dados
Disponibilidade da Base de Dados
 
Salvaguarda e Recuperação da Base de Dados | Oracle
Salvaguarda e Recuperação da Base de Dados | OracleSalvaguarda e Recuperação da Base de Dados | Oracle
Salvaguarda e Recuperação da Base de Dados | Oracle
 
Views | Controlo de acesso aos dados
Views | Controlo de acesso aos dadosViews | Controlo de acesso aos dados
Views | Controlo de acesso aos dados
 
SQL e Transações
SQL e TransaçõesSQL e Transações
SQL e Transações
 
DBA | Tabelas de teste
DBA | Tabelas de testeDBA | Tabelas de teste
DBA | Tabelas de teste
 
Google BigQuery
Google BigQueryGoogle BigQuery
Google BigQuery
 
Administração de bases de dados introdução
Administração de bases de dados   introduçãoAdministração de bases de dados   introdução
Administração de bases de dados introdução
 
Gestão da Aplicação
Gestão da AplicaçãoGestão da Aplicação
Gestão da Aplicação
 
Oracle | Estatísticas
Oracle | EstatísticasOracle | Estatísticas
Oracle | Estatísticas
 
User Management
User ManagementUser Management
User Management
 
Database Performance
Database PerformanceDatabase Performance
Database Performance
 
Data Availability
Data AvailabilityData Availability
Data Availability
 
Alterações na Base de Dados
Alterações na Base de DadosAlterações na Base de Dados
Alterações na Base de Dados
 
Revisão do Desenho da Base de Dados - Design Review
Revisão do Desenho da Base de Dados - Design ReviewRevisão do Desenho da Base de Dados - Design Review
Revisão do Desenho da Base de Dados - Design Review
 
Sistema Spares
Sistema SparesSistema Spares
Sistema Spares
 
Administração de Base de Dados: Desenho da Aplicação
Administração de Base de Dados: Desenho da AplicaçãoAdministração de Base de Dados: Desenho da Aplicação
Administração de Base de Dados: Desenho da Aplicação
 

Custo Execução de Queries

  • 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. O que fazer? 1. SQL> DESC plan_table; 2. Correr o script utlxplan.sql
  • 4. Explain plan EXPLAIN PLAN SET STATEMENT_ID = 'DEPARTAMENTO' FOR SELECT * FROM "Departamento"; Explained
  • 5. Script para ler plan_table UNDEFINE v_statement_id; SELECT id || 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_table CONNECT BY PRIOR id = parent_id AND statement_id = '&&v_statement_id' START WITH id = 0 AND statement_id = '&v_statement_id';
  • 6. Ordem das operações A 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. Ordem das operações 0 SELECT STATEMENT Cost = 6 1 MERGE JOIN Cost = 1 2 TABLE ACCESS BY INDEX ROWID PRODUCT_TYPES TABLE Cost = 1 3 INDEX FULL SCAN PRODUCT_TYPES_PK INDEX (UNIQUE) Cost = 1 4 SORT JOIN Cost = 2 5 TABLE ACCESS FULL PRODUCTS TABLE Cost = 1 Ordem de execução: 3, 2, 5, 4, 1 e 0.
  • 8. Comparação de planos de execução 0 SELECT STATEMENT Cost = 4 ……… versus 0 SELECT STATEMENT Cost = 5 ………
  • 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.