Я использую SQLAlchemy и есть как минимум три объекта: engine
, session
и connection
, которые имеют метод execute
, поэтому, если я, например, хочу выбрать все записи из table
я могу это сделать
engine.execute(select([table])).fetchall()
и это
connection.execute(select([table])).fetchall()
и даже это
session.execute(select([table])).fetchall()
- результаты будут одинаковыми.
Насколько я понимаю, если кто-то использует engine.execute
он создает connection
, открывает session
(Alchemy позаботится об этом для вас) и выполняет запрос. Но существует ли глобальное различие между этими тремя способами выполнения такой задачи?