При использовании пула соединений SQLA не нужно беспокоиться об остаточном состоянии соединения, если только ваше приложение не изменяет параметры для всего соединения, такие как уровни изоляции транзакций (что, как правило, не так). Пул соединений SQLA выдает connection.rollback () для соединения при его повторной регистрации, так что любое транзакционное состояние или блокировки очищаются.
Возможно, время соединения MySQL довольно быстрое, особенно если вы подключаетесь через сокеты Unix на одной машине. Если вы используете пул соединений, вы также хотите убедиться, что соединения будут перезагружены через некоторое время, поскольку клиентская библиотека MySQL автоматически отключит соединения, которые простаивают более 8 часов (в SQLAlchemy это опция pool_recycle).
Вы можете быстро выполнить некоторое сопоставление пула соединений по сравнению с non с приложением SQLA, изменив реализацию пула со значения по умолчанию QueuePool на NullPool, которое является реализацией пула, которая фактически ничего не объединяет - она подключается и отключается реальный, когда прокси-соединение получено, а затем закрыто.