为了账号安全,请及时绑定邮箱和手机立即绑定

PHP往Mysql里插入唯一随机字符串的效率问题

PHP往Mysql里插入唯一随机字符串的效率问题

繁星淼淼 2019-05-13 13:44:46
有一验证码数据表,有200万条数据,验证码字段需要唯一需要往这个表里插入大批量的数据,每次插入几万条左右数据如何优化每次的执行时间现在的做法:先生成好包含唯一验证码的数组。根据数组去验证码表里查,发现存在的重新生成5000一次分批插入privatefunctiongenerateUniqueValidationCodes(int$number){//生成指定数量的不重复的验证码$codeArr=$this->generateUniqueCodes($number);//去表中查询是否有存在的$result=ValidationCode::query()->whereIn('validation_code',$codeArr)->get();//如果有存在的重新生成if($result->isNotEmpty()){$this->generateUniqueValidationCodes($number);}else{return$codeArr;}}
查看完整描述

2 回答

?
慕桂英4014372

TA贡献1871条经验 获得超13个赞

代码有小错误
$this->generateUniqueValidationCodes($number);
这里还得加上return验证码字段需要唯一,好奇这个为什么要唯一?唯一的话,你加上UniqueIndex好了
                            
查看完整回答
反对 回复 2019-05-13
  • 2 回答
  • 0 关注
  • 352 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信