Загрузка...

Sqlalchemy. как лучше сделать?

Тема в разделе Python создана пользователем Hollywood 17 апр 2025. 163 просмотра

Загрузка...
  1. Hollywood
    Hollywood Автор темы 17 апр 2025 t.me/likeabuy_bot – Автоматическая покупка тг подарков 19 057 28 окт 2020
    у меня есть такие запросы, идущие друг за другом:

    Python
    res1 = await session.execute(select(Gift.gift_id).where(Gift.gift_id==gift_id).where(Gift.alert_10==None))
    fin_res1 = res1.scalar_one_or_none()
    res2 = await session.execute(select(Gift.gift_id).where(Gift.gift_id==gift_id).where(Gift.alert_1==None))
    fin_res2 = res2.scalar_one_or_none()
    лучше коннектиться к бд при каждом запросе отдельно? или можно с одного коннекта сращу 2 запроса сделать. как будет работать стабильнее?
     
  2. derkown
    ну разницы нет. быстрее будет с одной сессии запрос делать
     
  3. saulgoody
    saulgoody 18 апр 2025 0 или 1? 435 19 янв 2021
    зависит от контекста приложения, но конкретно в этом сниппете использовал бы async with
     
  4. writtted
    writtted 24 апр 2025 6 16 дек 2020
    коннект к бд при каждом запросе ударит по производительности, в маленьком проекте не особо заметно, но в больших сильно влияет
    создай асинхронную сессию через async_sessionmaker и уже через неё делай запросы к бд, не забудь обернуть в async with session
     
    1. begemot448
      writtted, как это ударит по производительности?
      У нас async_session это же пул соединений, как может на производетельность влиять если мы просто соедиение из пула берем?
      вот то что у нас в пуль не будет доступных соедениний - это другая проблема, но то что проивзодительность упадет - хз
      (Если не прав, поправьте :roflanPlz: )
      9 май 2025 Изменено
Top