|
O pgAdmin traz todos os registros que a tabela
possui, isto é, quanto você vê os registros na tela ele já leu tudo. Até podemos
discutir que está abordagem não é a ideal, até porque outras ferramentas trazem
apenas o que cabe em uma tela o que reduz o tempo de espera e o tráfego de rede.
De qualquer forma o próprio pgAdmin tem uma opção de visualização com filtro
onde você pode especificar um critério de forma a trazer apenas alguns
registros.
Duvido que algum usuário ou projetista precise
trazer todos os 75.000 registros para análise. Se o programa que vai acessar
esta tabela trouxer todos os registro será igualmente lento e o pior
desnecessariamente lento uma vez que ninguém consegue analisar de uma única
tacada todos os 75000 registros.
Com os índices adequados e usando uma pesquisa
adequada o PG é absurdamente rápido, mesmo rodando em windows. Por exemplo tenho
uma pesquisa que retorna todos os pagamentos em aberto de um dado cliente, onde
um retorno típico de 10 registros selecionados dentro de um universo de
aproximadamente 5.000.000 (cinco milhões) de registros é instantâneo.
Traduzindo: Certas práticas habituais em sistemas
desktop, não são aplicáveis a verdadeiros bancos de dados.
Espero ter ajudado,
Sergio
----- Original Message -----
Sent: Monday, September 25, 2006 4:56
PM
Subject: Re: [PostgreSQL-Brasil] Banco de
Dados lento
Tudo bem Osvaldo, concordo com você em fazer um select,
mas a questão é que ainda não criei a aplicação, só tenho o banco de dados,
por enquanto, e quando vou visualizar os dados pelo pgadmin, a demora no
acesso é demais, imagine então quando eu tiver a aplicação rodando
...
Atenciosamente, Marcos Fabrício Corso Analista de Sistemas
Júnior JM Informática (41) 3352-2688 [EMAIL PROTECTED]
----- Original Message -----
Sent: Monday, September 25, 2006 12:18
PM
Subject: Re: [PostgreSQL-Brasil] Banco
de Dados lento
Marcos Fabrício Corso
escreveu: > Seguindo suas orientações, executei o query, me retornou
: > > > -- Executing query: > select * from
"CLIENTE" > > Total query runtime: 89968 ms. > Data
retrieval runtime: 546984 ms. > 73814 rows retrieved. >
> Ou seja, 73814 registros no arquivo cliente, 546984 ms pra
processar e > 89968 ms para mostrar, correto ??? > Porém este
arquivo será muito usado em minha aplicação, achei muito > demorado
... > Tenho a mesma tabela feita em dataflex, tenho a resposta do
mesmo select > muito mais rápido ... > >
> Atenciosamente, > Marcos Fabrício Corso > Analista de
Sistemas Júnior > JM Informática > (41) 3352-2688 >
[EMAIL PROTECTED]
<mailto:[EMAIL PROTECTED]> >
> ----- Original Message
----- > *From:* Walter Cruz <mailto:[EMAIL PROTECTED]> >
*To:* Grupo de Usuários do PostgreSQL no
Brasil > <mailto:[email protected]> >
*Sent:* Monday, September 25, 2006 10:14 AM >
*Subject:* Re: [PostgreSQL-Brasil] Banco de Dados lento >
> O pgadmin3 é reconhecido pelos próprios
desenvolvedores como lento > para mostrar os
valores do banco. > > Tanto, que para
mostrar bem a diferença, ao executar uma query,
no > canto direito ele mostra dois tempos: um
para mostrar o tempo usado > pelo banco para
retornar os dados, e o outro usado para mostrar
o > tempo que o pgadmin3 levou para renderizar
o resultado. Um exemplo: > > Minha
query: SELECT * FROM tab_pessoas; (retorna 14315 linhas) >
> Tempo: 540+41651ms >
> Ou seja: levou 540 ms pra processar, porém
levou 41 segundos pra > mostrar na
tela. > > Seria interessante você
testar direto no psql, pra ver se é a
consulta > ou o pgadmin que está
lento. > >
[]'s > -
Walter > - >
> On 9/25/06, Marcos Fabrício Corso <[EMAIL PROTECTED] >
<mailto:[EMAIL PROTECTED]>>
wrote: >
> >
> > > Olá galera, tenho uma tabela
(cadastro de cliente) com + ou -
75.000 > > registros, com + ou - 100
campos. Tenho a mesma tabela em outro > banco
de > >
dados. > > Porém no postgres, pelo
pgadmin, demora a abrir a visualização > dos
dados > > desta
tabela. > > No outro banco de dados,
a visualização abre quase que >
instantaneamente .... > > O que devo
fazer, para abrir mais rápido os dados no postgre
??? > >
Me permitam
levantar uma questão:
Qual a necessidade de sua aplicação (cliente)
receber os 75.000 registros do servidor?
Não seria mais
prático/eficaz: - caso você precise de todos estes dados no cliente para
realizar um processamento: criar uma function que fizesse o
processamento no servidor e enviar ao cliente apenas o resultado. -
caso você precise de todos estes dados no cliente para exibi-los: como
creio que não irá exibir todos os 75.000 de uma só vez envie aos poucos
(a idéia de paginação) utilizando as opções LIMIT e OFFSET do
SELECT.
Evite o tráfego desnecessário de dados na rede que você
deixará sua aplicação mais
ágil.
[]s Osvaldo
_______________________________________________________
Você quer respostas para suas perguntas? Ou você sabe muito e quer
compartilhar seu conhecimento? Experimente o Yahoo! Respostas ! http://br.answers.yahoo.com/ _______________________________________________ Grupo
de Usuários do PostgreSQL no Brasil Antes de perguntar consulte o
manual http://pgdocptbr.sourceforge.net/
Para
editar suas opções ou sair da lista acesse a página da lista em: http://pgfoundry.org/mailman/listinfo/brasil-usuarios
E-mail
classificado pelo Identificador de Spam Inteligente Terra. Para alterar a
categoria classificada, visite http://mail.terra.com.br/protected_email/imail/imail.cgi?+_u=marcoscorso&_l=1,1159211941.145730.17567.morondava.hst.terra.com.br,7380,Des15,Des15
Esta
mensagem foi verificada pelo E-mail Protegido Terra. Scan engine: McAfee
VirusScan / Atualizado em 25/09/2006 / Versão: 4.4.00/4859 Proteja o seu
e-mail Terra: http://mail.terra.com.br/
_______________________________________________ Grupo de Usuários do
PostgreSQL no Brasil Antes de perguntar consulte o
manual http://pgdocptbr.sourceforge.net/
Para editar suas opções ou
sair da lista acesse a página da lista
em: http://pgfoundry.org/mailman/listinfo/brasil-usuarios
|