Python 使用psycog2游标的更好方法是什么?

Python 使用psycog2游标的更好方法是什么?,python,postgresql,psycopg2,Python,Postgresql,Psycopg2,对于句柄postgresql,我使用python库psycog2 要进行交易,我可以选择: with psycopg2.connect(params) as conn: with conn.cursor() as cur: cur.execute(sql) 或 哪种方式更可取(在速度和线程安全方面) 我想第二种方法更好,因为我可以比第一种方法使用更多次cursor(每次都需要创建cursor)。但是关于线程安全呢?回顾一下关于线程安全和重复使用游标的问题。为了减少连接时

对于句柄
postgresql
,我使用python库
psycog2

要进行交易,我可以选择:

with psycopg2.connect(params) as conn:
    with conn.cursor() as cur:
        cur.execute(sql)

哪种方式更可取(在速度和线程安全方面)

我想第二种方法更好,因为我可以比第一种方法使用更多次
cursor
(每次都需要创建
cursor
)。但是关于线程安全呢?

回顾一下关于线程安全和重复使用游标的问题。为了减少连接时间,可以使用连接池,如
try:
    con = psycopg2.connect(params) 
    cursor = con.cursor() 
    cursor.execute(sql)        
    con.commit()
except psycopg2.DatabaseError, e:
        con.rollback()