对于句柄postgresql
,我使用python库psycog2
。
要进行交易,我可以选择:
with psycopg2.connect(params) as conn:
with conn.cursor() as cur:
cur.execute(sql)
或
try:
con = psycopg2.connect(params)
cursor = con.cursor()
cursor.execute(sql)
con.commit()
except psycopg2.DatabaseError, e:
con.rollback()
更优选哪种方式(在速度和线程安全方面)?
我猜第二个更好一些,因为我可以比第一种方法使用cursor
次多次(每次需要创建cursor
时)。但是线程安全呢?