sqlalchemy会话可以执行的查询大小是否有限制?

时间:2015-08-30 09:42:12

标签: python sqlalchemy

我正在运行一个查询,其中我生成一个带插入的表变量。这意味着我可以使用大量插入使查询非常大。当我通过sqlalchemy会话执行此查询时,只要插入的数量或我怀疑查询的长度足够小,它就会按预期运行。当它太大时,没有任何反应。这有意义吗?我可以设置可配置的查询限制吗?或者我是否必须将我的查询分成几部分?

谢谢, PIR

1 个答案:

答案 0 :(得分:3)

您可能已达到dbms允许的最大数据包长度。如果您在后端使用MySQL,我建议您将max_allowed_packet设置为更高的值,例如512000000。或者,如果您使用其他dbms,请研究类似的解决方案。

对于MySQL,我使用:

engine.execute('SET GLOBAL max_allowed_packet=512000000;')

全局设置此值,直到服务器重新启动。如果您有足够的权限,可以将其添加到my.ini / my.cnf

我不知道从SQLAlchemy以dbms无关的方式执行此操作的方法。