[firebase-br] RES: Banco Crescendo Rapidamente

Evandro Borges evandro1968 em msn.com
Ter Fev 5 08:03:42 -03 2013


De que forma manter o registro vai evitar que o banco cresça ?
Muitas operações de delete e update forma muito lixo, elas são para serem usadas com muito critério.
Veja a seguir minha experiência: 
Tenho uma tabela principal que registra todas as transações efetuadas na empresa(compra, venda, etc).
Numa Tabela secundária,  retiro da principal somente as contas a receber e a pagar para controlar os títulos.
Antes, toda vez que eu liquidava um título ia lá atualizava o valor da baixa e quando o debito ficava igual ao crédito  deletava o registro. Meu Banco dobrava de tamanho a cada semana, e as transações de update e delete ficavam mais lentas a cada dia.
Hoje o que faço: Nesta tabela secundária incluo um registro quando vendo e outro quando o cliente liquida o título.Faço um select agrupando o registros de cada título(venda-(liquidação1, liquidação 2,...)) e filtro usando o having sum(debito-credito)<>0. Ficou mais rápido e meu banco parou de crescer tanto. Minha tabela chega e ter 20.000 registro mas estou sempre consultando pouco mais de mil que são os títulos a liquidar. Uma vez por ano, ou quando me da na cabeça, foi lá deleto os títulos liquidados restauro um Backup e pronto tudo zero novamente.
Estude bastante os recursos do SLQ, Joins, group by, views, índices, case When, union, triggers, procedures; eles fazem maravilhas quando bem usados(E devem ser usados, não foram criados por capricho de programador). Precisei gastar mais de 10 anos e mais R$ 15.000,00 para aprender.



> Date: Mon, 4 Feb 2013 22:56:21 -0200
> From: gladiston em vidy.com.br
> To: lista em firebase.com.br
> Subject: Re: [firebase-br] RES: Banco Crescendo Rapidamente
> 
> De que forma manter o registro vai evitar que o banco cresça ?
> Não é melhor apagar e deixar que as areas não usadas sejam reaproveitadas ?
> 
> Em 4 de fevereiro de 2013 07:50, Evandro Borges <evandro1968 em msn.com>escreveu:
> 
> > Realmente se fizer muitos deletes e updates o banco aumenta rapidamente,
> > já passei por isto.
> > Para contornar este problemas criei um campo com  char(1) na tabela e
> > quando quero deletar este registro gravo um 'N' e faço select campos where
> > campo_tal<>'N'
> > Evandro
> >
> >
> ______________________________________________
> 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
 		 	   		  


Mais detalhes sobre a lista de discussão lista