Otimização De Desempenho Flashcards

(15 cards)

1
Q

O que ocorre na etapa de parsing de uma consulta SQL?

A

A consulta é convertida em uma árvore de análise sintática e léxica

Ex: a consulta SELECT nome FROM clientes WHERE idade >30 é decomposta em uma árvore com nós representando SELECT, FROM, WHERE e os operadores e valores

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Em qual etapa de uma consulta SQL ocorrem validações para assegurar que, por exemplo, não há ambiguidade na referência de atributos e que as permissões de acesso de usuário estão de acordo com os objetos acessados?

A

Na análise semântica (etapa 2)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

O que ocorre na etapa de otimização lógica de uma consulta SQL?

A

A consulta é convertida para um plano lógico, para uma árvore de álgebra relacional

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

O que é o modelo de custo de I/O?

A

In/Out

Ele considera quantos blocos de disco o sistema terá que acessar, ler ou escrever pra executar o código

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Qual a diferença entre custo de CPU e custo de memória?

A

Custo de CPU = em quanto tempo a consulta será concluída

Custo de memória = quanto espaço será necessário pra armazenar tabelas temporárias, hash tables, etc, para a consulta ocorrer

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

O que fazem as técnicas de reescrita?

A

Transformam a árvore lógica (de álgebra relacional) em estruturas equivalentes que simplificam a consulta, reduzem cardinalidade e eliminam subconsultas desnecessárias

Pra otimizar o desempenho da consulta

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

O que faz a técnica de pushing de seleções?

O que ela economiza?

A

Deixa operações de seleção WHERE o mais próximo possível da base de dados, antes de operações como junções e agregações

Isso economiza I/O, pois são necessárias menos entradas em disco para realizar a consulta

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Qual a diferença na estrutura física Heap file, sorted file e clustered file?

A

Help = armazena registros fisicamente sem ordem específica. Busca o primeiro espaço disponível em disco e grava lá

Sorted = ordena fisicamente os registros por uma chave específica

Clustered file = ordena fisicamente os registros por um índice

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Entre as estruturas heap file, sorted file e clustered file, qual a diferença entre os custos de inserção e de leitura?

A

Heap = baixo custo de inserção, alto custo de leitura

Sorted e clustered = alto custo de inserção, baixo custo de leitura

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

O sorted file e o clustered file são usados tipicamente em OLAP ou OLTP?

A

Sorted file = OLAP

Clustered file = OLTP

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

O que é um índice do tipo B-Tree?

A

Balanced tree

É um índice estruturado como uma árvore hierárquica

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Como funciona uma estrutura de armazenamento em tabelas hash?

A

Elas usam uma função que converte a chave de busca em um endereço/posição dentro da estrutura de armazenamento.

Então, pra cada consulta pedida, ela aplica a função no valor pedido e já sabe onde o dado estará

Ex: CPF 317.602.648-06
Hash: h(CPF) = 1 -> bucket 2

Ele põe todos os CPFs que tem 1 na 2a posição no bucket 2

Então, toda vez que aparecer um CPF com 1 na 2a posição, ele sabe que está no bucket 2

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Quais as vantagens da B-tree para a hash?

E as vantagens da hash para a B-Tree?

A

Hash é melhor para buscar resultados exatos mas ineficiente para buscas por intervalo e não suporta diretamente ORDER BY

B-Tree é naturalmente ordenado e vai bem em busca por intervalo

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

O que significa o número 1 e o número 0 num índice bitmap?

A

Num índice bitmap de uma determinada coluna:

1 = valor está presente naquela linha

0 = valor não está presente naquela linha

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Para otimizar consultas, deve-se realizar projeções, seleções e produtos cartesianos o mais cedo possível?

A

Produtos cartesianos, não.
Eles só devem ser usados quando inevitáveis, pois são mais custosos

Projeções e seleções, sim.
A boa prática é executá-las o mais cedo possível

How well did you know this?
1
Not at all
2
3
4
5
Perfectly