Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/311.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python django查询获取数据库服务器上的最后n条记录_Python_Sql_Django - Fatal编程技术网

Python django查询获取数据库服务器上的最后n条记录

Python django查询获取数据库服务器上的最后n条记录,python,sql,django,Python,Sql,Django,嗨,根据 使用[:n]获取最后n条记录是个好主意吗?我是否可以在数据库服务器上执行此操作,例如在sql select top 10中,而不是在django所在的服务器上执行此操作?是的,可以使用此操作 在内部,可以构造、过滤、切片和删除查询集 通常在没有实际访问数据库的情况下传递。不 数据库活动实际上会发生,直到您执行某些操作进行评估 queryset 请阅读以了解更多详细信息。我认为对于数据库中的小记录(例如1k记录),使用它很好,但是对于表中的大记录(例如1M行),这不是最好的方法 从数据库

嗨,根据


使用[:n]获取最后n条记录是个好主意吗?我是否可以在数据库服务器上执行此操作,例如在sql select top 10中,而不是在django所在的服务器上执行此操作?

是的,可以使用此操作

在内部,可以构造、过滤、切片和删除查询集 通常在没有实际访问数据库的情况下传递。不 数据库活动实际上会发生,直到您执行某些操作进行评估 queryset


请阅读以了解更多详细信息。

我认为对于数据库中的小记录(例如1k记录),使用它很好,但是对于表中的大记录(例如1M行),这不是最好的方法

从数据库服务器本身获取n条记录比像django那样获取最后n条记录更有效,因为在这种情况下,如果您可以选择直接在数据库服务器上执行查询,则会对所有记录进行排序,然后获取,在这些记录中,我们将对最后n条记录进行切片,您应该使用Django ORM,而不是像Django ORM一样使用Django ORM,这会耗费时间和内存

按“?”排序的查询可能既昂贵又缓慢,具体取决于 您正在使用的数据库后端。

正在数据库中运行的。