[Cascavel-pm] Como verificar se um registro já existe antes de inserir no banco? - RESOLVIDO

Nilson Santos Figueiredo Junior acid06 em gmail.com
Quarta Outubro 25 18:23:29 PDT 2006


On 10/25/06, Luis Motta Campos <luismottacampos em yahoo.co.uk> wrote:
>   Experimenta calcular a quantidade de espaço necessária para os
> ROLLBACK SEGMENTS para conter uma tabela com 10^9 registros de 512B
> cada. Isto pode ser até factível, mas tem um problema de ordem prática
> muito grande: pouca gente pode dispor de 4,5TB de RAM para fazer uma
> operação deste tamanho. E isto vai levar HORAS.

Eles podem ter implementado isso internamente como simplesmente marcar
a tabela como deletada e não deletar registro a registro. Aí só as
constraints seriam verificadas em O(n). Como se uma falhar, tudo
falhar, essa alternativa é possível. E não seria necessário "deletar"
e depois "restaurar". Demoraria o mesmo tempo que um DELETE FROM TABLE
não transacional, se implementado dessa maneira.

>   Minha opinião: a Microsoft ainda acha que o mundo da computação pode
> ser operado por pessoal não técnico. Mas agora eles estão implementando
> coisas para servidores. Vamos ver quanto tempo mais leva para alguém
> entender o problema e os processos começarem a surgir... ;-)

E funcionava muito bem. Operações simples de bancos de dados podiam
ser feitas por pessoas com conhecimento técnico superficial sem
maiorias complicações. Além disso, o SQL Server era um ótimo banco de
dados, na minha opinião, um dos melhores produtos da Microsoft,
provavelmente.

Ele tem o melhor front-end gráfico pra administração de banco de dados
que eu já vi, nunca vi algum que chegasse perto. Sua variante de SQL é
a mais DWIM das que eu conheço. Lembro quando desenvolvi um projeto em
que o banco de dados era o Oracle 8i... no quesito SQL, foi a pior
experiência da minha vida. Mexer com MySQL na mão é melhor.

O MySQL é fraquinho em relação a ferramentas boas mas achei uma bem
razoável, o EMS SQL Manager 2005. Ele tem uma particularidade
inusitada: a versão pra Windows é freeware, contudo a pra Linux é
paga. Ele se aproxima em recursos ao Enterprise Manager do MSSQL.

O PostgreSQL é bastante poderoso. Contudo, é lento e não intuitivo.
Acho que a pior idéia que já vi foi aquele conceito de sequences, me
desagrada profundamente ter que definir uma sequence pra ter uma
primary key com auto increment.

Eu, normalmente, sou a última pessoa a defender a Microsoft. Mas,
apesar de não ser o mais rápido, o MSSQL realmente é melhor de se
usar. É o mais fácil, o mais simples e pessoas com pouco conhecimento
técnico conseguem se virar - por mais que você tente lutar contra
isso, isso é algo bom.

-Nilson Santos F. Jr.


Mais detalhes sobre a lista de discussão Cascavel-pm