Загрузка...

SQLALCHEMY. What is the best way to do?

Thread in Python created by Hollywood Apr 17, 2025. 195 views

  1. Hollywood
    Hollywood Topic starter Apr 17, 2025 э 20,122 Oct 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 Apr 18, 2025 0 или 1? 435 Jan 19, 2021
    зависит от контекста приложения, но конкретно в этом сниппете использовал бы async with
     
  4. cute
    коннект к бд при каждом запросе ударит по производительности, в маленьком проекте не особо заметно, но в больших сильно влияет
    создай асинхронную сессию через async_sessionmaker и уже через неё делай запросы к бд, не забудь обернуть в async with session
     
    1. George_a_fish
      cute, как это ударит по производительности?
      У нас async_session это же пул соединений, как может на производетельность влиять если мы просто соедиение из пула берем?
      вот то что у нас в пуль не будет доступных соедениний - это другая проблема, но то что проивзодительность упадет - хз
      (Если не прав, поправьте :roflanPlz: )
Top
Loading...