我们有一个非常大的数据查询过程。 截至目前,我们正在使用原始SQL查询获取数据,我们正在使用python db api游标执行它们。
import psycopg2
conn = psycopg2.connection("DB_connection_string")
cursor = conn.cursor()
cursor.execute("select * from so_so")
这引发了性能问题,我们认为这些游标与Sql游标相同,后者对性能有害。
它们一样吗?如果是这样,有人可以建议更快的方法吗?
这种方法的SQLALCHEMY或ORM模式是否更快?
我也读过SQLALCHEMY建立在这样的驱动程序上,它们与数据库交互形成一个层。
答案 0 :(得分:1)
不,普通的psycopg2游标不是PostgreSQL server-side cursors:它们是轻量级客户端数据结构,可以保存客户端所需时间的查询结果。
psycopg可以使用named cursors使用服务器端游标,默认情况下不使用。