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):) –
如果您對加快數據庫端的訪問感興趣,請查看數據庫的聚簇索引。 –