Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

Performance

Srs, boa tarde!

Eu executei o script:

select * from livros order by nome.

1-No primeiro cenário minha tabela tinha um index no campo data_de_lancamento.

2-No segundo cenário a tabela não tinha nenhum index configurado.

Dúvida: O segundo cenário foi um pouco mais performático que o primeiro, posso considerar que além da perca de performance na inclusão, atualização e remoção eu também tenho uma leve perca ao percorrer na leitura dos registros?

3 respostas

Então, pelo o que eu entendi e pelo o que ocorreu aqui no meu caso, com o INDEX houve ganho de performance ao percorrer a lista para se fazer as leituras dos registros.

Atenciosamente,

Oi Klaus.

Você aplicou o index em qual campo?

solução!

Apliquei o index no campo data_de_lancamento, igual como feito na aula.

Obs: testei seu select

select * from livros order by nome;

, e o tempo de retorno foi de (0,09 sec).

fazendo o select da aula:

select *, 
     (select count(l2.data_de_lancamento) from livros l2 where l2.data_de_lancamento = l.data_de_lancamento) as anteriores
from livros l order by l.data_de_lancamento;

o tempo de resposta foi de (5 min 57,96 sec).

criei o index:

create index indice_por_lancamento on livros(data_de_lancamento);

e o tempo de resposta, tanto para o select da aula diminuiu (0,25 sec), quanto o select que você apresentou (0,06 sec).

espero ter ajudado.

Abraços,

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software