【问题标题】:Using what algorithm Django's `objects.get()` is implemented?使用什么算法 Django 的 `objects.get()` 实现了?
【发布时间】:2016-09-20 16:22:12
【问题描述】:

Django的objects.get()是用什么算法实现的?

时间复杂度是多少?如果知道一个唯一字段,例如 slugpk,是否是 constant time 过程来检索对象?

如果没有,

使用objects.get(pk=id)objects.get(slug="some-slug") 搜索包含数百万甚至数十亿记录的模型的效率如何?

对象管理器在哪里?

我应该将{object : pk} 缓存在缓存服务器中以加快查询速度还是开箱即用?

【问题讨论】:

    标签: python django algorithm django-orm


    【解决方案1】:

    我不确定你为什么认为这里有任何算法。这是一个数据库调用;它完全取决于数据库如何实现。

    当然,数据库在通过单一标准查找项目方面非常高效;如果该列被索引,则更是如此,这将是自动的。

    【讨论】:

      猜你喜欢
      • 2011-05-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-03-09
      • 2014-07-12
      • 1970-01-01
      相关资源
      最近更新 更多