[SP-pm] DBIx::Class

Lucas Mateus lucasmateus.oliveira at gmail.com
Sat Sep 14 11:22:10 PDT 2013


	Boa pergunta André. É um teste simples de fazer, que acha de fazer em seu SGBD preferido e nos dizer ?



Em 14/09/2013, às 14:39, André Walker <andre em andrewalker.net> escreveu:

> On Sat, Sep 14, 2013 at 12:44:35PM -0300, Lucas Mateus wrote:
>> 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.
> 
> Será que isso é realmente necessário? Quer dizer... qual o problema de ter um
> índice no campo email mesmo? De qualquer forma, você já vai ter um custo
> computacional na função md5 (ainda que pequeno), e tenho a impressão que
> índices em campos texto não são tão ruins assim. Talvez varie de SGBD pra
> SGBD? Em PostgreSQL, por exemplo, seria relevante ter essa coluna email_md5?
> 
> Att.
> André
> 
> =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



More information about the SaoPaulo-pm mailing list