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

时间:2016-05-23 17:16:50

标签: python django algorithm django-orm

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

时间复杂度是多少?如果已知一个唯一字段constant timeslug,那么检索对象是 pk 过程吗?

如果没有,

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

对象管理器在哪里?

我应该将{object : pk}缓存在缓存服务器中以获得更快的查询,还是开箱即用?

1 个答案:

答案 0 :(得分:0)

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

当然,数据库通过单一标准查找项目非常有效;如果列被索引,则更是如此,pk将自动生成。