Sie sind auf Seite 1von 3

1 Descreva as etapas de processamento de uma instruo SQL no banco

Oracle (dica: lembre-se das estruturas de memria da SGA)


R: Primeiramente, verificado se h uma query idntica na Shared Pool. Se
existir, o processo executado normalmente. Se no existir so executadas
as seguintes etapas: a sintaxe do SQL validada, os objetos referidos
validados e determinado o melhor plano de execuo. Depois verificado
os blocos na Database Buffers Cache. Por ltimo retorna a instruo para o
cliente, porm antes de gravar as alteraes no log file grava no Redo
buffers para garantir a consistncia.
2 O que AWR? E ADDM? Como eles esto relacionados?
R: AWR coleta estatsticas a cada uma hora e cria um AWR snapshot, que
usado para comparaes de performance. Esses dados coletados so
expostos como relatrios ou como views. ADDM examina os dados coletados
pelo AWR para identificar possveis problemas no banco de dados, podendo
localizar a causa raiz do problema de performance e recomendar uma
correo. Para cada Snapshot criada pelo AWR uma anlise do ADDM
gerada e os resultados so salvos no Banco.
3 O que Wait Event? E Wait Class? D trs exemplos de wait class e sua
definio.
R: Wait event - conta o tempo que cada sesso aguarda por um
determinado tipo de evento no banco de dados, Wait Class
um
grupamento de eventos, como User Network ou I/O.
Exemplos de Wait Class:
Concurrency: Espera por recursos de banco de dados internos
System I/O: espera por processos em background
User I/O: espera do usurio I/O
4 O que o plano de execuo de uma query? Para que serve?
R: uma sequncia de operaes que o banco de dados oracle realiza para
executar uma instruo. Serve para analisar a performance de uma query.
5 Por que podemos dizer que, do modo geral, acessar uma tabela atravs
da operao INDEX UNIQUE SCAN mais eficiente que atravs da operao
FULL TABLE SCAN?
R: Na FULL TABLE SCAN so percorridas todas as linhas da tabela enquanto
que trabalhando indices como feito na INDEX UNIQUE SCAN o acesso
direto a linha solicitada, portanto muito mais rpido.
6 Ao analisar o plano de execuo da query abaixo, temos o seguinte
resultado:
SELECT * FROM cidade WHERE cod_regiao=2;

Que ndice voc recomendaria? Por qu?


R: Recomendaria o INDEX UNIQUE SCAN. Porque no caso eu necessito s de
um conjunto especifico da tabela, ento a melhor opo acessar a tabela
por uso de ndices, um processo mais rpido.

7 Analise o plano de execuo da query abaixo:


SELECT p.nome_pais, R.nome_regiao FROM PAIS P
INNER JOIN REGIAO R
ON P.COD_PAIS = R.COD_PAIS;

Como voc explica a operao de aceso tabela REGIAO se dar por um


index range scan usando o ndice IXREGIAO_PAIS? (OBS: este ndice da
tabela REGIAO usa a coluna cod_pais como chave).

8 Segundo as boas prticas, cite 3 exemplos de quando indicado criar


um ndice para uma coluna, e 3 exemplos de quando no indicado indexar
uma coluna.
Quando se deve criar ndices:
1 Quando a coluna possui uma quantidade muito grande de dados.
2 Quando a coluna tem uma grande quantidade de pesquisas.
3 Quando a coluna possui informaes criticas que devem ser acessadas
mais rapidamente

Quando no se deve criar ndices:


1 Quando se tem um volume de dados muito grande e pouco espao de
disco restante
2 Quando a coluna no possui muitas pesquisas
3 Quando a coluna no possui uma quantidade significativa de dados

9 Observe a query abaixo:


SELECT nome_cidade FROM cidade WHERE cod_cidade IN (SELECT
cod_cidade FROM cidade WHERE cod_regiao = 2);
Qual das duas instrues SQL ser executada primeiro? Por qu?
R: A instruo de selecionar a coluna nome_cidade na Tabela cidade,
Porque a instruo select procura sempre pela primeira query idntica ou
valida.

10 Para a view vwCidade, criada com a instruo abaixo:


CREATE VIEW vwCidade AS
SELECT nome_estado, nome_cidade
FROM cidade C INNER JOIN estado E ON c.cod_estado = e.cod_estado
Considera agora a seguinte instruo SQL:
SELECT * FROM vwCidade;
Qual seria o plano de execuo desta query? Por que?

Das könnte Ihnen auch gefallen