You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Использую Row или Scalar объекты у sqlalchemy с вызовом all метода загружает все объекты в память, вместо использования генератора (без вызова all метода), что ухудшает производительность ведь так и так схема pydantic делает перебор элементов и валидирует их. Предлогаю просто убрать вызов этого метода
asyncdeflist(self, ...):
...
returnresult.all()
заменить на
asyncdeflist(self, ...):
...
returnresult
Выбор с all методом очень ограничивает взаимодействие с результатом, например если я хочу использовать метод list и всё еще пользоваться его преимуществами, то из-за таких ограничений мне придется использовать assemble_statement
На первый взгляд неплохое предложение. Мне нужно пройтись по использованию методов list и filter в своём коде и понять, не сломает ли что-то такое изменение. И если сломает, то насколько это критично
Как вариант, можно добавить ещё один параметр в списочные методы типа return_list: bool = True, который при передаче False будет возвращать просто Result/ScalarResult
Использую Row или Scalar объекты у sqlalchemy с вызовом all метода загружает все объекты в память, вместо использования генератора (без вызова all метода), что ухудшает производительность ведь так и так схема pydantic делает перебор элементов и валидирует их. Предлогаю просто убрать вызов этого метода
заменить на
Выбор с all методом очень ограничивает взаимодействие с результатом, например если я хочу использовать метод list и всё еще пользоваться его преимуществами, то из-за таких ограничений мне придется использовать assemble_statement
Здесь я не смогу перевести результат в Scalar или что-нибудь ещё, так как будет использован метод all на результате
The text was updated successfully, but these errors were encountered: