Python Django中的原始查询比Postgres中的原始查询慢得多

Python Django中的原始查询比Postgres中的原始查询慢得多,python,sql,django,performance,postgresql,Python,Sql,Django,Performance,Postgresql,在我的Django应用程序中,我面临着一个极其缓慢(原始)的查询问题。奇怪的是,当我从shell启动独立查询(例如:python manage.py my_code_query)时,它并不慢,但当我运行包含所有查询的整个程序时,它会慢(它总是在同一个查询中“阻塞”;实际上它最终会完成,但大约慢100倍)。这就好像在有问题的查询之前的所有查询都在消耗内存,而当我的查询启动时没有足够的内存。直接从Postgres运行的查询没有任何问题 我在某个地方()读到,可能是Postgres中的work_mem

在我的Django应用程序中,我面临着一个极其缓慢(原始)的查询问题。奇怪的是,当我从shell启动独立查询(例如:python manage.py my_code_query)时,它并不慢,但当我运行包含所有查询的整个程序时,它会慢(它总是在同一个查询中“阻塞”;实际上它最终会完成,但大约慢100倍)。这就好像在有问题的查询之前的所有查询都在消耗内存,而当我的查询启动时没有足够的内存。直接从Postgres运行的查询没有任何问题

我在某个地方()读到,可能是Postgres中的work_mem设置导致了这个问题,但他们对Django的设置方式不是很清楚。我是否必须从connection.cursor.execute()调用来设置work\u mem参数?只有一次

这可能是工作记忆设置之外的另一个问题吗

任何暗示都将不胜感激。 谢谢 Patrick受那篇文章()的启发,我在执行游标之前打了这个电话:

cursor.execute("set work_mem='100MB'") #set statement_mem does not work
现在正是时候


--编辑:那是昨天的事。今天,它不再及时运行了。不知道为什么。

查询是运行一次还是多次?在网络上而不是在本地运行查询有一定的开销。查询在本地运行一次。