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

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

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

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

2 回答

?
交互式爱情

TA贡献1712条经验 获得超3个赞

代码有小错误

$this->generateUniqueValidationCodes($number);

这里还得加上return
验证码字段需要唯一,好奇这个为什么要唯一?
唯一的话,你加上Unique Index好了


查看完整回答
反对 回复 2018-07-21
  • 2 回答
  • 0 关注
  • 1209 浏览

添加回答

举报

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