Python MySQLdb游标上的提交是否会影响另一个游标中正在进行的事务?
如果我有多个游标(例如,每个游标在不同的线程中)是从同一个DB连接生成的,那么一个游标上的提交(例如在Python中:cursor.execute('commit'))是否会影响同一连接中另一个游标上正在进行的事务?如果是这样的话,为了避免像这样的交叉游标问题,我是否应该总是每个DB连接只有一个游标?(如果您知道,这是否也适用于谷歌云SQL?)Python MySQLdb游标上的提交是否会影响另一个游标中正在进行的事务?,python,mysql,google-app-engine,mysql-python,google-cloud-sql,Python,Mysql,Google App Engine,Mysql Python,Google Cloud Sql,如果我有多个游标(例如,每个游标在不同的线程中)是从同一个DB连接生成的,那么一个游标上的提交(例如在Python中:cursor.execute('commit'))是否会影响同一连接中另一个游标上正在进行的事务?如果是这样的话,为了避免像这样的交叉游标问题,我是否应该总是每个DB连接只有一个游标?(如果您知道,这是否也适用于谷歌云SQL?) 提前谢谢你的建议。可能吧MySQLdb指定-attribute为1,这意味着您不应该在没有手动同步的情况下在多个线程上共享连接(以及游标) 您最好使用某
提前谢谢你的建议。可能吧
MySQLdb
指定-attribute为1,这意味着您不应该在没有手动同步的情况下在多个线程上共享连接(以及游标)
您最好使用某种形式的连接池。可能
MySQLdb
指定-attribute为1,这意味着您不应该在没有手动同步的情况下在多个线程上共享连接(以及游标)
您最好使用某种形式的连接池。在Google Cloud SQL中,每个DB连接一次应该只有一个游标。在服务器端,每个连接都有一个数据结构,用于跟踪当前事务/查询。如果您有多个光标,它们将相互踩在一起
我建议在每个http请求开始时打开一个连接,然后在结束时关闭它。这就是原因。在谷歌云SQL中,每个DB连接一次应该只有一个光标。在服务器端,每个连接都有一个数据结构,用于跟踪当前事务/查询。如果您有多个光标,它们将相互踩在一起
我建议在每个http请求开始时打开一个连接,然后在结束时关闭它。这是给你的。试一下也证实了。试一下也证实了。谢谢肯。您的代码示例很有用,但是如果跨线程共享连接是危险的,那么包装器是否应该重用相同的连接呢?谢谢Ken。您的代码示例很有用,但是如果跨线程共享连接是危险的,那么包装器是否应该重用相同的连接?