Sql 更好的方法是从django中的数据库中检索最近的10个项目

Sql 更好的方法是从django中的数据库中检索最近的10个项目,sql,django,django-models,django-queryset,Sql,Django,Django Models,Django Queryset,我使用下面的查询从数据库中检索10项 itemobjects = Items.objects.all()[:10] 有更好的方法吗?因为当我的数据库中的项目数增加时,上面的查询速度非常慢,大约需要1-2秒这应该不会花太长时间,即使在大型表上也是如此。您是否在模型的Meta类上定义了默认顺序?也许它会按照默认值在非索引字段上排序,这可能是您看到的速度放缓的原因之一 无论如何,要获取最新的条目,请按主键(保证索引)排序: /编辑:只是一个提示:为模型类指定单数名称是一种惯例,例如,Item

我使用下面的查询从数据库中检索10项

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

有更好的方法吗?因为当我的数据库中的项目数增加时,上面的查询速度非常慢,大约需要1-2秒

这应该不会花太长时间,即使在大型表上也是如此。您是否在模型的
Meta
类上定义了默认顺序?也许它会按照默认值在非索引字段上排序,这可能是您看到的速度放缓的原因之一

无论如何,要获取最新的条目,请按主键(保证索引)排序:


/编辑:只是一个提示:为模型类指定单数名称是一种惯例,例如,
Item
而不是
Items

尝试在该字段上设置索引,看看是否有帮助
itemobjects = Items.objects.all().order_by('-pk')[:10]