[SP-pm] DBIx::Class

Lucas Mateus lucasmateus.oliveira at gmail.com
Sun Sep 15 13:17:05 PDT 2013


	É 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 = 'teste967847 em domain.com';
+------------------------+
| email                  |
+------------------------+
| teste967847 em domain.com |
+------------------------+
1 row in set (0.21 sec)

mysql> select email from users_2 where email_md5 = unhex(md5('teste967848 em domain.com'));
+------------------------+
| email                  |
+------------------------+
| teste967848 em domain.com |
+------------------------+
1 row in set (0.00 sec)


Em 15/09/2013, às 16:44, Eden Cardim <eden em insoli.de> escreveu:

>>>>>> "Lucas" == Lucas Mateus <lucasmateus.oliveira em gmail.com> 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: SaoPaulo-pm em pm.org
> L<http://mail.pm.org/mailman/listinfo/saopaulo-pm>
> =end disclaimer



More information about the SaoPaulo-pm mailing list