RE: RES: [delphi-br] Mais sobre tabela temporária

2004-11-10 Por tôpico Fabiano Arndt


Paulo eu concordo plenamente com o Fábricio,

se o supermercado é grande, a primeira coisa que ele deve fazer é ter uma 
boa infra-estrutura física, isso é fundamental! inclusive vc deve exigir 
isso dele como desenvolvedor do sistema.

se vc querer desenvolver um sistema em cima de uma infra-estrutura que não é 
das melhores e o sistema não funcionar direito, de quem vai ser a culpa 
sempre a culpa é do desenvolvedor
então eu acho mais aconselhável vc conversar com seu cliente e colocar as 
cartas na mesa.

e outra o teu sistema vai ficar muito mais complexo, vc vai ter que se 
preocupar com problemas que não precisariam nem existir, como por exemplo, 
se derepente o supermercado resolver fazer uma promoção relâmpago? os 
usuários do sistema teriam que parar de atender os clientes para reiniciar 
suas máquinas para que o preço seja atualizado??? se isso fosse acontecer aí 
sim vc iria tá exigindo da rede, imagina todo os caixas de um vez só 
trazendo todos os produtos do banco de dados para os caixas!

bem, essa é minha opinião!!

até mais...



From: Fabrício (Listas) [EMAIL PROTECTED]
Reply-To: [EMAIL PROTECTED]
To: [EMAIL PROTECTED]
Subject: RES: [delphi-br] Mais sobre tabela temporária
Date: Tue, 9 Nov 2004 10:59:01 -0300


Paulo, bom dia.

Ainda assim, prefiro as tabelas convencionais. Mesmo pq, uma empresa deste
porte deve ter uma boa estrutura tecnológica.

Usando corretamente os índices, o tempo de resposta é muito curto.

Num exemplo, com uma tabela com +- 29.000 itens (é pequena, mas dá para ter
uma idéia), o tempo de retorno e a quantidade de trafego de rede são muito
pequenos.

SQL select count(*) from item;

   COUNT(*)
--
  29468

SQL select pct_ipi from item where cod_empresa='01' and cod_item =
'001.01.80165.00';

PCT_IPI
--
  5


Execution Plan
--
0  SELECT STATEMENT Optimizer=CHOOSE (Cost=2 Card=1 Bytes=21)
10   TABLE ACCESS (BY INDEX ROWID) OF 'ITEM' (Cost=2 Card=1 
Bytes=21)
21 INDEX (UNIQUE SCAN) OF 'PK_ITEM_1' (UNIQUE) (Cost=1 Card=1)


Statistics
--
   0  recursive calls
   0  db block gets
   3  consistent gets
   0  physical reads
   0  redo size
 366  bytes sent via SQL*Net to client   
==
Trafego de rede
 425  bytes received via SQL*Net from client ==
Trafego de rede
   2  SQL*Net roundtrips to/from client
   1  sorts (memory)
   0  sorts (disk)
   1  rows processed

O processamento é imediato, pois está utilizando índice INDEX (UNIQUE 
SCAN)
OF 'PK_ITEM_1' (UNIQUE).

Acredito que, fazendo um tunning correto das querys, vc não terá problema e
não precisará esquentar a cabeça com tabelas temporárias.

Se quiser fazer um teste mais apurado, crie uma tabela com dois campos e
adicione uns 5.000.000 de registros com números seqüenciais (com um FOR).
Depois crie um índice e faça uma consulta.

Dependendo da estrutura de rede e do servidor, pode até ser necessário
partir para uma solução mais trabalhosa, porém consciente de que a real
solução seria melhorar a estrutura tecnológica.

Opinião particular! ;-)

[]s

Fabrício Veloso Ramos


-Mensagem original-
De: delphi6_2005 [mailto:[EMAIL PROTECTED]
Enviada em: terça-feira, 9 de novembro de 2004 08:48
Para: [EMAIL PROTECTED]
Assunto: [delphi-br] Mais sobre tabela temporária



Amigos agradeço a ajuda de todos, realmente muito importante.

Gostaria de estender o assunto.
A maioria dos amigos evita ou não recomenda o uso de tabelas
temporarias, porém fica complicado por exemplo um sistema de vendas
onde o usuário informa o codigo do produto e tem de se verificar se
o produto existe na tabela, ir até o banco várias e várias vezes só
pra verificar existência do produto, imaginem um supermercado com
30, 50, 100 caixas registrando 10, 20, 50 itens por venda.

O que os amigos me dizem.



Paulo.





--
 FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM 

Para ver as mensagens antigas, acesse:
  http://br.groups.yahoo.com/group/delphi-br/messages

Para falar com o moderador, envie um e-mail para:
  [EMAIL PROTECTED] ou [EMAIL PROTECTED]

Links do Yahoo! Grupos


_
MSN Hotmail, o maior webmail do Brasil.  http://www.hotmail.com






-- 
 FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM 

Para ver as mensagens antigas, acesse:
 http://br.groups.yahoo.com/group/delphi-br/messages

Para falar com o moderador, envie um e-mail para:
 [EMAIL PROTECTED] ou [EMAIL PROTECTED]
 
Links do Yahoo! Grupos

* Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/delphi-br/

* Para sair deste grupo, envie um e-mail para:
[EMAIL PROTECTED]

* O uso que você faz do Yahoo! Grupos está sujeito aos:
http://br.yahoo.com/info

[delphi-br] Mais sobre tabela temporária

2004-11-09 Por tôpico delphi6_2005


Amigos agradeço a ajuda de todos, realmente muito importante.

Gostaria de estender o assunto.
A maioria dos amigos evita ou não recomenda o uso de tabelas 
temporarias, porém fica complicado por exemplo um sistema de vendas 
onde o usuário informa o codigo do produto e tem de se verificar se 
o produto existe na tabela, ir até o banco várias e várias vezes só 
pra verificar existência do produto, imaginem um supermercado com 
30, 50, 100 caixas registrando 10, 20, 50 itens por venda.

O que os amigos me dizem.



Paulo.





-- 
 FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM 

Para ver as mensagens antigas, acesse:
 http://br.groups.yahoo.com/group/delphi-br/messages

Para falar com o moderador, envie um e-mail para:
 [EMAIL PROTECTED] ou [EMAIL PROTECTED]
 
Links do Yahoo! Grupos

* Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/delphi-br/

* Para sair deste grupo, envie um e-mail para:
[EMAIL PROTECTED]

* O uso que você faz do Yahoo! Grupos está sujeito aos:
http://br.yahoo.com/info/utos.html

 





RES: [delphi-br] Mais sobre tabela temporária

2004-11-09 Por tôpico Fabrício (Listas)


Paulo, bom dia.

Ainda assim, prefiro as tabelas convencionais. Mesmo pq, uma empresa deste
porte deve ter uma boa estrutura tecnológica.

Usando corretamente os índices, o tempo de resposta é muito curto. 

Num exemplo, com uma tabela com +- 29.000 itens (é pequena, mas dá para ter
uma idéia), o tempo de retorno e a quantidade de trafego de rede são muito
pequenos.

SQL select count(*) from item;

  COUNT(*)
--
 29468

SQL select pct_ipi from item where cod_empresa='01' and cod_item =
'001.01.80165.00';

   PCT_IPI
--
 5


Execution Plan
--
   0  SELECT STATEMENT Optimizer=CHOOSE (Cost=2 Card=1 Bytes=21)
   10   TABLE ACCESS (BY INDEX ROWID) OF 'ITEM' (Cost=2 Card=1 Bytes=21)
   21 INDEX (UNIQUE SCAN) OF 'PK_ITEM_1' (UNIQUE) (Cost=1 Card=1)


Statistics
--
  0  recursive calls
  0  db block gets
  3  consistent gets
  0  physical reads
  0  redo size
366  bytes sent via SQL*Net to client   ==
Trafego de rede
425  bytes received via SQL*Net from client ==
Trafego de rede
  2  SQL*Net roundtrips to/from client
  1  sorts (memory)
  0  sorts (disk)
  1  rows processed

O processamento é imediato, pois está utilizando índice INDEX (UNIQUE SCAN)
OF 'PK_ITEM_1' (UNIQUE). 

Acredito que, fazendo um tunning correto das querys, vc não terá problema e
não precisará esquentar a cabeça com tabelas temporárias.

Se quiser fazer um teste mais apurado, crie uma tabela com dois campos e
adicione uns 5.000.000 de registros com números seqüenciais (com um FOR).
Depois crie um índice e faça uma consulta. 

Dependendo da estrutura de rede e do servidor, pode até ser necessário
partir para uma solução mais trabalhosa, porém consciente de que a real
solução seria melhorar a estrutura tecnológica.

Opinião particular! ;-)

[]s

Fabrício Veloso Ramos


-Mensagem original-
De: delphi6_2005 [mailto:[EMAIL PROTECTED] 
Enviada em: terça-feira, 9 de novembro de 2004 08:48
Para: [EMAIL PROTECTED]
Assunto: [delphi-br] Mais sobre tabela temporária



Amigos agradeço a ajuda de todos, realmente muito importante.

Gostaria de estender o assunto.
A maioria dos amigos evita ou não recomenda o uso de tabelas 
temporarias, porém fica complicado por exemplo um sistema de vendas 
onde o usuário informa o codigo do produto e tem de se verificar se 
o produto existe na tabela, ir até o banco várias e várias vezes só 
pra verificar existência do produto, imaginem um supermercado com 
30, 50, 100 caixas registrando 10, 20, 50 itens por venda.

O que os amigos me dizem.



Paulo.





-- 
 FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM 

Para ver as mensagens antigas, acesse:
 http://br.groups.yahoo.com/group/delphi-br/messages

Para falar com o moderador, envie um e-mail para:
 [EMAIL PROTECTED] ou [EMAIL PROTECTED]
 
Links do Yahoo! Grupos




 






-- 
 FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM 

Para ver as mensagens antigas, acesse:
 http://br.groups.yahoo.com/group/delphi-br/messages

Para falar com o moderador, envie um e-mail para:
 [EMAIL PROTECTED] ou [EMAIL PROTECTED]
 
Links do Yahoo! Grupos

* Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/delphi-br/

* Para sair deste grupo, envie um e-mail para:
[EMAIL PROTECTED]

* O uso que você faz do Yahoo! Grupos está sujeito aos:
http://br.yahoo.com/info/utos.html

 





Re: [delphi-br] Mais sobre tabela temporária

2004-11-09 Por tôpico Yahoo

Oi,

So se vc estiver usando arquivo texto ou access pra se preocupar com isso,
imagina so uma agencia bancaria trabalhando com tabela temporaria, ou 
ate mesmo um supermecado, vc altera o valor de uma mercadoria e tem que 
sair correndo atualizando as maquinas ou a atualizancao dos produtos so 
pode ser feita quando o supermercado fecha.

ps. q bd vc usa, pra tal preocupacao?


r4z0r


delphi6_2005 wrote:

Amigos agradeço a ajuda de todos, realmente muito importante.

Gostaria de estender o assunto.
A maioria dos amigos evita ou não recomenda o uso de tabelas 
temporarias, porém fica complicado por exemplo um sistema de vendas 
onde o usuário informa o codigo do produto e tem de se verificar se 
o produto existe na tabela, ir até o banco várias e várias vezes só 
pra verificar existência do produto, imaginem um supermercado com 
30, 50, 100 caixas registrando 10, 20, 50 itens por venda.

O que os amigos me dizem.



Paulo.





  




-- 
 FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM 

Para ver as mensagens antigas, acesse:
 http://br.groups.yahoo.com/group/delphi-br/messages

Para falar com o moderador, envie um e-mail para:
 [EMAIL PROTECTED] ou [EMAIL PROTECTED]
 
Links do Yahoo! Grupos

* Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/delphi-br/

* Para sair deste grupo, envie um e-mail para:
[EMAIL PROTECTED]

* O uso que você faz do Yahoo! Grupos está sujeito aos:
http://br.yahoo.com/info/utos.html