django orm与postgresql raw sql之比较

svujldwt  于 2021-08-01  发布在  Java
关注(0)|答案(1)|浏览(443)

我的django应用程序运行在服务器1上,它连接到服务器2上的amazonrds(postgresql)。在日常工作中,我必须经常与数据库交互以写入/获取/查询数据。
目前,我正在应用程序中使用django orm。我只是想知道,如果我使用postgresql raw sql querys,使用django.db连接游标在orm上,性能是否会有任何改进?
下面是一个示例查询的建议方法。
django奥姆
表\u name.objects().all()
postgresql原始sql查询使用django.db连接游标

如果我的数据库在另一台服务器的rds上运行,有人能告诉我以上哪一项能更快地提高性能吗

envsm3lx

envsm3lx1#

使用原始查询将导致几乎没有性能差异。orm确实使用了一些周期来构造查询,但是与发送查询、数据库接收、解释和运行查询以及将结果发送回来的工作相比,这是微不足道的。
在某些情况下,orm可能确实会进行(过于)复杂的查询,但如果您获取所有记录,则情况并非如此。它有时需要orm专业知识(就像它需要sql专业知识一样)才能找到性能更好的查询。
此外,还可以让django orm使用 .values() 使构造 DataFrame :

res = pd.DataFrame(table_name.objects.values())

相关问题