对于MySQL的md5加密速度来说,它主要受到以下几个因素的影响:
1. 待加密字符串长度
代码示例: SELECT MD5(‘1234567890’);
当需要加密的字符串长度较长时,加密运算的时间也会更长,因为字符串越长,其md5指纹的位数也会相应加大。
2. 数据库硬件配置
代码示例: SELECT SQL_NO_CACHE MD5(‘1234567890’);
MySQL md5加密速度也受到服务器硬件配置的影响。如果服务器配置较低,那么加密的速度自然也会较慢。
3. 并发访问量
代码示例: CREATE TABLE `test` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(20) NOT NULL, `password` varchar(32) NOT NULL, PRIMARY KEY (`id`) ); INSERT INTO `test` (`name`, `password`) VALUES ('admin', MD5('123456')); INSERT INTO `test` (`name`, `password`) VALUES ('test', MD5('123456')); SELECT * FROM `test` where `name`='admin' and `password`='e10adc3949ba59abbe56e057f20f883e'; SELECT SQL_NO_CACHE * FROM `test` WHERE `name`='admin' and `password'='e10adc3949ba59abbe56e057f20f883e';
如果在高并发环境下使用MySQL md5加密算法,加密的速度也会明显降低。这时候就需考虑其他的优化措施,如缓存或分库分表。