2012-05-08 47 views
3

我用下面的查詢從我的數據庫佰檢索最近從數據庫10個項目在Django

itemobjects = Items.objects.all()[:10] 

獲取10個項目有沒有更好的方式來做到這一點?因爲當我的數據庫中的項目數量增加時,上述查詢非常緩慢,大約需要1-2秒

回答

4

即使在大型表格上,這也不應該花費很長時間。您是否在模型的Meta類中定義了默認排序?也許它會在默認情況下在非索引字段中進行訂購,這可能是您看到的放緩的原因。

無論如何,以獲得最新的條目,按主鍵命令他們(這是保證被編入索引):

itemobjects = Items.objects.all().order_by('-pk')[:10] 

/編輯:只是一個提示:這是一個慣例給模型類單數名稱,例如Item而不是Items

+0

是基於時間的iam排序現在 – shanks

+0

嘗試設置該字段的索引,看看它是否有幫助 –

相關問題