我正在运行一个查询,我正在生成一个带有插入的表变量.这意味着我可以使用大量插入使查询非常大.当我通过sqlalchemy会话执行此查询时,只要插入的数量或我怀疑查询的长度足够小,它就会按预期运行.当它太大时,没有任何反应.这有意义吗?我可以设置可配置的查询限制吗?或者我必须将我的查询分成几部分?
谢谢,
PIR
最佳答案
您可能已达到dbms允许的最大数据包长度.如果您在后端使用
MySQL,我建议您将max_allowed_packet设置为更高的值,例如512000000.或者研究一个类似的
解决方案,以防你使用另一个dbms.
对于MysqL,我使用:
engine.execute('SET GLOBAL max_allowed_packet=512000000;')
全局设置此值,直到服务器重新启动.如果您有足够的权限,可以将其添加到my.ini / my.cnf.
我不知道从sqlAlchemy以dbms无关的方式执行此操作的方法.