É disso que to falando, usar o MD5 mesmo (binário) e não md5 em 
hexadecimal, e acho sim muito comum emails com mais de 16 bytes.

        E se executar a query já passado o email com o md5, sem precisar usar a 
função do BD é ainda melhor, ja que o BD faz o hex por conta própria.


mysql> show create table users_2;
+---------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Table   | Create Table                                                        
                                                                                
                                                      |
+---------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| users_2 | CREATE TABLE `users_2` (
  `email` varchar(60) default NULL,
  `email_md5` binary(16) default NULL,
  KEY `idx_email` (`email`),
  KEY `idx_email_md5` (`email_md5`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 |
+---------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
1 row in set (0.00 sec)


mysql> select email from users_2 where email = '[email protected]';
+------------------------+
| email                  |
+------------------------+
| [email protected] |
+------------------------+
1 row in set (0.21 sec)

mysql> select email from users_2 where email_md5 = 
unhex(md5('[email protected]'));
+------------------------+
| email                  |
+------------------------+
| [email protected] |
+------------------------+
1 row in set (0.00 sec)


Em 15/09/2013, às 16:44, Eden Cardim <[email protected]> escreveu:

>>>>>> "Lucas" == Lucas Mateus <[email protected]> writes:
> 
>    Lucas>     Show Eden, mas seu teste não tem absolutamente nada a
>    Lucas> ver com o que eu disse =)
> 
> A única diferença do que você mostrou é que no meu caso, o campo
> email_md5 não existe porque não precisa, o índice resolve. E eu
> coloquei valores md5 no campo email pra ter alguma aleatoriedade no
> teste.
> 
> -- 
> Eden Cardim -- Insolide Soluções de TI Ltda.
> +55 11 9644 8225
> http://insoli.de
> =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