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

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

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

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

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

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

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


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

15条回答 默认 最新

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

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

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

报告相同问题?

悬赏问题

  • ¥15 java 操作 elasticsearch 8.1 实现 索引的重建
  • ¥15 数据可视化Python
  • ¥15 要给毕业设计添加扫码登录的功能!!有偿
  • ¥15 kafka 分区副本增加会导致消息丢失或者不可用吗?
  • ¥15 微信公众号自制会员卡没有收款渠道啊
  • ¥15 stable diffusion
  • ¥100 Jenkins自动化部署—悬赏100元
  • ¥15 关于#python#的问题:求帮写python代码
  • ¥20 MATLAB画图图形出现上下震荡的线条
  • ¥15 关于#windows#的问题:怎么用WIN 11系统的电脑 克隆WIN NT3.51-4.0系统的硬盘