treack 2011-04-15 14:34
浏览 337
已采纳

关于大数据量中抓取数据的问题,

在项目中遇到一个问题,需求是这样的:

数据库中一张表,有几十万条用户记录,要求每隔一段时间(不能超过一个小时)就从这些数据中抓取一部分出来(大约1000条),要确保用户记录能均匀的被抓取到。

我现在的做法是,启用一个定时程序,每隔10分钟就从数据库里面随机抓取500条记录。但是好像不能做到均匀。
另外还要考虑下性能问题,数据库为mysql

有什么好的方法能确保均匀?
问题补充

bureaucrat 写道
问题是:你怎么判断的不均匀?


测试的结果能看出来,定时器运行了3天
抓取的情况是,有的记录被抓到很多次,有的记录一次都没有被抓到,我希望能够尽量均匀的分配
  • 写回答

15条回答 默认 最新

  • tsaowe 2011-04-15 14:34
    关注

    如果是单纯的想要随机把所有的抽取完得话,用自带的随机函数能够保证随机,但是在一个范围内是不一定能够全部的数据都获取的,个人认为可以设计一个数学算法,先将数据排序后进行随机抽取(但是在给定的范围内全部都要抽取到).

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(14条)

报告相同问题?

悬赏问题

  • ¥15 程序不包含适用于入口点的静态Main方法
  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记