[SP-pm] DBIx::Class

Nilton OS jniltinho at gmail.com
Sat Sep 14 08:52:25 PDT 2013


Lucas boa essa sua dica.


Em 14 de setembro de 2013 12:44, Lucas Mateus <
lucasmateus.oliveira em gmail.com> escreveu:

>
>         Particularmente eu valido se existe antes de inserir, acho mais
> fácil tomar a decisão (informa que ja existe ou envia um email para trocar
> a senha) é mais fácil e acertivo que tratar o erro do BD.
>
>         Para tornar esse processo mais rápido eu crio um campo do tipo
> binary 16 bytes e gravo o md5 (binario sem hexadecimal) do email e utilizo
> ele para consulta.
>
>         Algo assim:  select id from users where email_md5 = md5('fulano em bla')
> and email = 'fulano em bla';
>
>         Onde somente o campo email_md5 tem index e você tem certeza que
> ele sempre terá 16 bytes, se você tiver 1 milhão de usuários essa consulta
> terá um custo risório. A segunda comparação é somente para evitar colisões
> de md5 e o index é feito somente no campo email_md5.
>
>
> Em 14/09/2013, às 12:06, Solli Honorio <shonorio em gmail.com> 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: SaoPaulo-pm em pm.org
> > 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: SaoPaulo-pm em pm.org
>  L<http://mail.pm.org/mailman/listinfo/saopaulo-pm>
> =end disclaimer
>



-- 
..............................................................................
 *Nilton OS* | *DNA Linux a 15 anos* |
linuxpro.com.br<http://www.linuxpro.com.br>

*"Não são os grandes homens que transformam o mundo, mas sim os fracos nas
mãos de um grande Deus."*
-------------- Pr?xima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://mail.pm.org/pipermail/saopaulo-pm/attachments/20130914/2c9591a2/attachment.html>


More information about the SaoPaulo-pm mailing list