作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
由于我的应用程序的性质,我需要支持将大量数据快速插入数据库。使用 executemany() 可以提高性能,但有一个警告。例如,MySQL 有一个名为 max_allowed_packet 的配置参数,如果我的插入查询的总大小超过它的值,MySQL 就会抛出一个错误。
问题 #1:有没有办法告诉 SQLAlchemy 将数据包拆分成几个较小的数据包?
问题 #2:如果其他 RDBS 也有类似的限制,我应该如何解决它们?
附言我之前发布过这个问题,但是当我错误地认为我可能根本不会遇到这个问题时删除了它。遗憾的是,情况并非如此。
最佳答案
我最近遇到了类似的问题并使用了 - 不是很优雅 - 解决方法:
max_allow_packets
解析了 my.cnf 的值,如果找不到,则将最大值设置为默认值。max_allow_packets
的 75%(因为 SQL 查询也会占用空间,只是为了安全起见)。这种方法不是很漂亮,但对我来说却完美无缺。
关于python - SQLAlchemy 和 max_allowed_packet 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3267580/
我是一名优秀的程序员,十分优秀!