Из-за природы моего приложения, я должен поддерживать, быстро вставляет больших объемов данных в базу данных. Используя executemany () выполнение увеличений, но существует протест. Например, MySQL имеет параметр конфигурации, названный max_allowed_packet, и если общий размер моих запросов на вставку превышает свое значение, MySQL бросает ошибку.
Вопрос № 1: существует ли способ сказать SQLAlchemy разделять пакет на несколько меньших?
Вопрос № 2: Если другие RDBS имеют подобные ограничения, как я должен работать вокруг них также?
P.S. Я отправил этот вопрос ранее, но удалил его, когда я неправильно предположил, что, вероятно, не встречусь с этой проблемой, в конце концов. К сожалению, это не имеет место.
Недавно у меня была похожая проблема, и я использовал не очень элегантный обходной путь:
max_allow_packets
, если я не могу его найти, максимум устанавливается в значение по умолчанию. max_allow_packets
(так как SQL-запросы тоже будут занимать место, на всякий случай). Этот подход не очень красив, но для меня он сработал безупречно.