0
我有我的Django应用程序下面一行:Django的查询集 - 打在O DB(1)
last_job_instance = (JobInstance.objects.filter(job_type = job_type).filter(agent = agent).order_by('-execution_end_date'))[0]
我想这为O(1)运行时间 - 或者换句话说 - 我想根据日期仅从数据库中提取最后一个作业实例。
我的问题是上面的queryset命中数据库一次,或者先获取所有的job instances对象,然后按日期排序,然后让我得到第一个(这是O(nlogn))。
非常感谢!
Tidhar
您可以通过'打印JobInstance自己去查。对象.filter(job_type = job_type).filter(agent = agent).order_by(' - execution_end_date')。query' – karthikr
我很喜欢它,如果我的数据库可以返回有序查询结果O(1):) –
如果您对加快数据库端的访问感兴趣,请查看数据库的聚簇索引。 –