2014-09-30 10:45 GMT-03:00 Guilherme Walter <[email protected]>:

> Não tentei executar diretamente no banco porque Entity que gera o SQL.
> versão do Banco é a ultima 9.3


Guilherme,

Antes você tem que fazer uma análise para identificar onde o gargalo está
acontecendo, no caso pode ser no banco, na aplicação ou na comunicação
entre eles. Eu faria o seguinte no seu caso (não necessariamente nessa
ordem):

1) execute a mesma consulta mas jogue o resultado fora e não mostre no grid
2) verifique qual ou quais consultas estão sendo executadas e as execute
diretamente no banco

Se (1) for rápido, grandes chances que o componente de grid (provavelmente
sua renderização?) é que está lento. Se não, e (2) ainda estiver lento,
significa que a(s) consulta(s) está(ão) lenta(s) no banco, nesse caso
verifique os planos de execução (pode postar aqui que ajudamos).

E (2) pode ser feito pelo próprio banco, habilite os logs de atividade e
altere log_min_duration_statement=0, isso fará com que todo comando
executado apareça no log junto com o tempo que demorou para executar. Daí é
só você copiá-lo e verificar o plano da seguinte forma:

    EXPLAIN (ANALYZE, VERBOSE, BUFFERS) <cole o comando aqui>;

Isso irá executar o comando e mostrar o plano de execução. Use [1] para
facilitar a análise e postar aqui caso queira.

[1] http://explain.depesz.com/

Atenciosamente,
-- 
Matheus de Oliveira
Analista de Banco de Dados
Dextra Sistemas - MPS.Br nível F!
www.dextra.com.br/postgres
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a