【问题标题】:Select 20% random records from 1 million record Django mysql从 100 万条记录 Django mysql 中选择 20% 的随机记录
【发布时间】:2018-11-19 07:25:54
【问题描述】:

我想从 mysql Django 模型中选择一些 x %。例如,如果表中存储了 100 万个设备 ID,我想选择 100 万个设备 ID 的 20%。 任何人都可以通过优化的方式帮助我解决这个问题。我希望使用 Django ORM 来实现这一目标

【问题讨论】:

  • @JanKrüger 不,不是,我正在寻找使用 Django ORM 而不是平面 sql 查询的建议。
  • 我已经完成了所有的研究,只有我问了
  • @JanKrüger 但是谢谢,我会尝试从发布的链接中找出一些线索
  • 如果你需要一些特别有效的东西来处理这种极端情况,通常 ORM 不会帮助你,你还是需要使用原始 SQL(Django 的 ORM 有一个原始 SQL 功能)。您甚至可以使用 Django 查询表达式来包装它,但与原始 SQL 相比可能没有太大优势。

标签: django django-models django-rest-framework


【解决方案1】:

如果你想使用 orm,我想你只需请求 count(),然后使用循环创建 pk 列表。最后你只需使用Model.objects.filter(pk__in=<list of pk>)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-03-06
    • 1970-01-01
    • 2017-01-31
    • 1970-01-01
    • 2011-03-31
    • 1970-01-01
    相关资源
    最近更新 更多