[firebase-br] Modelagem para ganhar desempenho

Paulo Portella pportellaa.firebase em gmail.com
Sex Fev 25 13:06:10 -03 2011


Em 25/02/2011 12:49, Marcelo Moreira escreveu:
> Pessoal,
> No caso é usado duas tabelas porque todo o trabalho feito nos registros da
> tabela TB_TRABALHO envolve muitos processos.
> ou seja, as informacoes nao vao entrando na tabela TB_TRABALHO e na mesma
> hora ja vao sendo processadas e depois copiadas para a tabela TB_HISTORICO.
> foi criada duas tabelas para por exemplo nao ficar trabalhando com uma
> tabela que tenha muitos registros para nao tornar o processo lento uma vez
> que a tabela TB_TRABALHO sempre vai ficando limpa.
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> Para saber como gerenciar/excluir seu cadastro na lista, use: http://www.firebase.com.br/fb/artigo.php?id=1107
> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
Isso é indiferente caso você esteja "trabalhando" com os registros o 
mais específico possível, por exemplo:

SELECT * FROM TB_TRABALHO WHERE CODIGO = :v_Codigo

você pode ter 1Trilhão de registros, o banco vai te devolver apenas 1 
unico registro.

Agora o problema é se você tem essas 2 tabelas, como vai saber "ONDE" 
está o registro que você quer ver? sacou?
se você não souber se o registro esta em TRABALHO ou em HISTÓRICO, você 
não acha que terá que fazer 2 SELECTs ?

Resuma isso da maneiro que eu ainda te aconselho em usar uma unica 
tabela e ter um campo dentro dessa tabela pra dizer se o regsitro está 
Ativo ou se já virou Histórico:

Ex:
SELECT * FROM TB_TRABALHO WHERE CODIGO = :v_Codigo AND ATIVO='S';

Simples não?

-- 
Vida de americano é assim: iPhone, iPod, iPad, iMac….
Já a de brasileiro é assim:IPTU, IPVA, ICMS, IPI etc





Mais detalhes sobre a lista de discussão lista