Você está certo quando pensa em apenas inserir e tratar o erro. Sua programação será melhor se ela tratar os erros, pois eles vão acontecer de uma forma ou de outra. Não acho que esteja vivendo perigosamente, mas sim vivendo com segurança e confiança, pois você protegeu os dados no próprio banco de dados que não deixará inserir dados duplicados, é muito mais seguro o banco te falar que tem coisa errada do que você controlar isso por programação e deixar o banco sem regras.

Na minha opinião você terá um ganho talvez mais com a rede do que com o IO do banco, mas sim, concordo com você é menos uma operação por inserção de dados no seu sistema.

Abraços,
Marcelo Milhomem
www.is4web.com

Em 14/09/2013 12:06, Solli Honorio escreveu:
Pessoal

Estou escrevendo um cadastro que tem o campo email com unique index. O meu primeiro impulso é fazer uma pesquisa no cadastro para verificar se o email já não existe, mas me dei conta que se eu tentar criar o registro e o email já existir, vou receber um erro informando isto.

O que vocês acham disto ? É feio jogar com o erro (mesmo tratando o erro de maneira correta) ? Ou é melhor deixar de viver perigosamente e fazer o search antes do create.

E porquê estou com está dúvida ? Não medi, mas teoricamente gravar e tratar o erro deve (ou deveria) ser mais rápido (pq eu faço "apenas uma operação de IO").

Abraços,

Solli Honorio

--
"o animal satisfeito dorme". - Guimarães Rosa


=begin disclaimer
    Sao Paulo Perl Mongers: http://sao-paulo.pm.org/
  SaoPaulo-pm mailing list: [email protected]
  L<http://mail.pm.org/mailman/listinfo/saopaulo-pm>
=end disclaimer

=begin disclaimer
   Sao Paulo Perl Mongers: http://sao-paulo.pm.org/
 SaoPaulo-pm mailing list: [email protected]
 L<http://mail.pm.org/mailman/listinfo/saopaulo-pm>
=end disclaimer

Responder a