Prova Performance sql Leonardo Ramos

328 palavras 2 páginas
Marque a sua opinião referente a desempenho de consultas e explique.
1- Para retornar todas as linhas de 2012.
CREATE INDEX tbl_idx ON tbl (date_column);

SELECT text, date_column
FROM tbl
WHERE TO_CHAR(date_column, 'YYYY') = '2012';
Marque:
(X) Boa prática
() Má prática
Explique sua escolha > Na consulta é realizado, uma transformação no campo de data, para retornar somente o ano “YYYY”. Acho que é a melhor prática para essa consulta.

2- Para encontrar a linha mais recente.
CREATE INDEX tbl_idx ON tbl (a, date_column);

SELECT id, a, date_column
FROM tbl
WHERE a = $1
ORDER BY date_column DESC
LIMIT 1;
Marque:
() Boa prática
(X) Má prática
Explique sua escolha > Na consulta pede somente para encontrar o registro mais recente. Acho que não faz sentido utilizar a clausula “Where” filtrando a coluna “a”, podendo se tornar menos performático.
3- Duas consultas, buscando por uma coluna em comum.
CREATE INDEX tbl_idx ON tbl (a, b);

SELECT id, a, b
FROM tbl
WHERE a = $1
AND b = $2;

SELECT id, a, b
FROM tbl
WHERE b = $1;

Marque:
() Boa prática
(X) Má prática
Explique sua escolha > Optei por má pratica, devido a consulta ser separada e não uma única consulta. Acredito e por experiência, que quando a consulta é unificada o resultado é mais satisfatório.

4- Para procurar registros no estado X nos últimos 5 anos.
CREATE INDEX tbl_idx ON tbl (date_column, state);

SELECT id, date_column, state FROM tbl WHERE date_column >= CURRENT_DATE - INTERVAL '5' YEAR AND state = 'X';

(365 rows)
The data distribution is as follows:

SELECT count(*) FROM tbl WHERE date_column >= CURRENT_DATE - INTERVAL '5' YEAR;

count
-------
1826

SELECT count(*) FROM tbl WHERE state = 'X';

count
-------
10000
Marque:
(X) Boa prática
() Má prática
Explique sua escolha > Na consulta é realizado primeiro o filtro por data e depois filtrando somente o “state = ‘X’”. Assim é otimizado o tempo para consulta, reparando que o volume de dados filtrando primeiro a coluna “state” e bem

Relacionados

  • Armazenamento de dados xml bechmark
    35228 palavras | 141 páginas
  • Pericia forense computacional
    16333 palavras | 66 páginas
  • Anexo VI Pesquisa de Softwares de Gerenciamento de Bibliotecas_ 1
    25937 palavras | 104 páginas
  • jogo educativo
    54568 palavras | 219 páginas
  • TCC Administração - Reciclagem de Resíduos da Construção Civil
    27756 palavras | 112 páginas
  • LEONARDO Apostila Completa Para UFPE
    45464 palavras | 182 páginas
  • Cluster
    122281 palavras | 490 páginas
  • Ciencias contabeis
    79259 palavras | 318 páginas
  • Projeto interdisciplinar
    32328 palavras | 130 páginas
  • TECNOLOGIA
    8343 palavras | 34 páginas