никто не подскажет?(
По каким параметрам улучшаем?
а что можете предложить?)
я бы сделал reltation на юзера и соответсвенно select( Service, ).options( joinedload(User), ).where( func.date(Service.reminder)==func.current_date, )
1) для начала не открывать сессию под только один запрос, вынести сам запрос в репозиторий или хотя бы отдельную функцию 2) Почему используется ORM, но абсолютно никак не применяются его фичи? Мне кажется частично join запрос может уйти в relationship. 3) Вообще не очень понятен сам по себе запрос: почему он тянет и пользователя и сервис, почему сервис ссылается на пользователя. Однозначно не самый лучший нейминг. 4) where запрос скорее всего не нужно приводить к дате ни со стороны бд, ни со стороны питона, за нас это сделает алхимия.
я бы еще накинул scalars, чтобы не мучаться с таплами
1) сессия отрабатывается 1 раз в день, а затем умирает. про паттерн «Repo» я знаю, но не очень понимаю как его применять, если у вас есть соответствующие статьи или какие-нибудь материалы. на эту тему, то милости прошу. 2) да, я тоже об этом думал, наверное так и сделаю. 3) в этом и проблема. хотелось бы что-то с этим сделать, я написал этот запрос на SQL и тупо перенес его в код ничего не меняя. 4) отлично, спасибо!
отлично, сейчас попробуем..
1. https://t.me/advice17/16
3. даже если рассматривать запрос чисто в sql он очень странный
Вы же понимаете, что я выделяю эти колонки, потому что мне нужно получить эти* данные
Я понимаю, но я объяснил в чем именно странность запроса
нет, не понимаем. Есть ощущение что ты выделяешь эти колонки потому что хочешь сэкономить на поулчении остальных, но не знаешь сколько экономишь
Что правда, то правда)
В принципе, можно получать всё, там не так уж и много, но нормальная ли это практика?
Я в плане, получать всё, а не что-то конкретное
чем более гранулярно ты запрашиваешь данные, тем больше переделывать при их изменениях
Это вполне разумная практика часто, но обычно это относится к вопросам оптимизации на больших объемах данных
да у меня как таковых больших данных и нет, получается я не нуждаюсь в точечном получении
Обсуждают сегодня