猿问

按照指定规则生成随机数算法问题

场景

每次需要生成n1~s之间的随机整数,并存入数据库,生成的随机数不能与数据库已有的数据重复

尝试过的思路

  1. 在代码中使用range生成含有1~s的集合,取出数据库中已有数据计算差集,对差集结果数组随机获取元素。
  2. 随机生成一个1~s的整数,并查询是否已存在于数据库中,如果已存在则重新生成随机数,直到成功取出需要的全部数据。

问题

由于数据量达百万级别,并且操作执行频率高,思路1的方法消耗性能资源太大,思路2又由于执行时间不可期,更不可取。
对于这种需求,是否有更合理的处理方式?

收到一只叮咚
浏览 540回答 2
2回答
随时随地看视频慕课网APP
我要回答