SlideShare uma empresa Scribd logo
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.

Mais conteúdo relacionado

PPTX
Custo Execução Queries | Oracle | 2015
PPTX
BD I - Aula 13 B - Agrupando Dados - Parte 04
PPTX
Ambiente de exploração oracle
PPTX
Instalação
PPTX
Tuning nos 8c valter
PDF
Aula 5
DOCX
Rout project9
PPTX
robertoo ayala
Custo Execução Queries | Oracle | 2015
BD I - Aula 13 B - Agrupando Dados - Parte 04
Ambiente de exploração oracle
Instalação
Tuning nos 8c valter
Aula 5
Rout project9
robertoo ayala

Destaque (20)

PPT
Excursión a Polvoranca
PPTX
Exprexionblend
PPTX
Catalogo Set Decoden
ODP
Actividade de música
PPT
Numeros Da Gata
PPT
Contour making in Arcgis 9.2
PPT
Visita De Estudo Economia A
PDF
TechDays 2010 DAT202
PPT
Homo Habilis 1
DOC
Plan De Asignatu Ra
PPTX
PresentacióN1
PPTX
Cáncer de pulmón
PPT
URETA KIM TAEKWONDO
PPT
PDF
Listado Tanganika Marzo
PPTX
Eyeblaster - Idéias para a Copa do Mundo 2010
PPT
¿Qué es un reportaje?
PPS
IPUINAK-LIBURUAK
Excursión a Polvoranca
Exprexionblend
Catalogo Set Decoden
Actividade de música
Numeros Da Gata
Contour making in Arcgis 9.2
Visita De Estudo Economia A
TechDays 2010 DAT202
Homo Habilis 1
Plan De Asignatu Ra
PresentacióN1
Cáncer de pulmón
URETA KIM TAEKWONDO
Listado Tanganika Marzo
Eyeblaster - Idéias para a Copa do Mundo 2010
¿Qué es un reportaje?
IPUINAK-LIBURUAK
Anúncio

Semelhante a Custo Execução de Queries (20)

PPTX
Stored Procedures and Triggers
PPT
SQL1eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee.ppt
KEY
Python 04
PDF
Sql proficiente
PDF
Stored Procedures com PostgreSQL: porque usar.
PPTX
Oracle Database 12c - Novas Características para DBAs e Desenvolvedores
PDF
.Net Community Summit 2018 - Aplicações .NET inteligentes com escala horizont...
PPTX
Banco de dados aula 4
PPTX
Apresentando o EcmaScript 6
PPTX
Doctrine for Dummies
PDF
um breve treinamento sobre SQL e suas funcionalidades
PDF
Jdbc, JAVA DATABASE CONNECTIVITY
ODP
Stored procedure
PPTX
PDF
Introdução ao Banco de Dados, Introdução ao Banco de Dados,
PDF
TOPICOS DE BANCO DE DADOS II - INSTITUTO CIENCIA E TECNOLOGIA
PDF
Oracle 11g - Fundamentos
PDF
2832014 curso plsql
PPT
Fundamentos de SQL - Parte 3 de 8
Stored Procedures and Triggers
SQL1eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee.ppt
Python 04
Sql proficiente
Stored Procedures com PostgreSQL: porque usar.
Oracle Database 12c - Novas Características para DBAs e Desenvolvedores
.Net Community Summit 2018 - Aplicações .NET inteligentes com escala horizont...
Banco de dados aula 4
Apresentando o EcmaScript 6
Doctrine for Dummies
um breve treinamento sobre SQL e suas funcionalidades
Jdbc, JAVA DATABASE CONNECTIVITY
Stored procedure
Introdução ao Banco de Dados, Introdução ao Banco de Dados,
TOPICOS DE BANCO DE DADOS II - INSTITUTO CIENCIA E TECNOLOGIA
Oracle 11g - Fundamentos
2832014 curso plsql
Fundamentos de SQL - Parte 3 de 8
Anúncio

Mais de Carlos Pampulim Caldeira (20)

PPTX
Administração de Bases de Dados - Introdução
PPTX
Estatísticas | Oracle | 2015
PDF
Afinação da Aplicação | Caminho de Acesso aos Dados
PPTX
Revisão do Desenho da Base de Dados | 2015
PPTX
Disponibilidade da Base de Dados
PPTX
Salvaguarda e Recuperação da Base de Dados | Oracle
PPTX
Views | Controlo de acesso aos dados
PPTX
SQL e Transações
PPTX
DBA | Tabelas de teste
PPTX
Google BigQuery
PPTX
Administração de bases de dados introdução
PPTX
Gestão da Aplicação
PPTX
Oracle | Estatísticas
PPT
User Management
PPT
Database Performance
PPT
Data Availability
PPT
Alterações na Base de Dados
PPT
Revisão do Desenho da Base de Dados - Design Review
PPT
Sistema Spares
PPT
Administração de Base de Dados: Desenho da Aplicação
Administração de Bases de Dados - Introdução
Estatísticas | Oracle | 2015
Afinação da Aplicação | Caminho de Acesso aos Dados
Revisão do Desenho da Base de Dados | 2015
Disponibilidade da Base de Dados
Salvaguarda e Recuperação da Base de Dados | Oracle
Views | Controlo de acesso aos dados
SQL e Transações
DBA | Tabelas de teste
Google BigQuery
Administração de bases de dados introdução
Gestão da Aplicação
Oracle | Estatísticas
User Management
Database Performance
Data Availability
Alterações na Base de Dados
Revisão do Desenho da Base de Dados - Design Review
Sistema Spares
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.