autocommit в ORM сессии (sqlalchemy)
Есть класс DatabaseSession
с методом:
async with async_session_maker() as session:
try:
yield session
if commit:
await session.commit()
except Exception:
await session.rollback()
raise
finally:
await session.close()
Соответственно, все CRUD'ы автокоммитятся, в том числе read.
Вопрос: насколько это правильно? Создаёт ли это дополнительную нагрузку на приложение или БД?
Проектирую приложение для управления КД для конструкторов, сейчас в тестовой БД около 100 записей, разница не чувствуется. Но что если в БД будет 10000 записей и 5 одновременно работающих пользователей?
Вопрос 2: Какие метрики нагруженности существуют для СУБД? Как мне заранее узнать узкие места?
Извините за такие вопросы, я не айтишник, но некоторые вещи приходится самому делать.