开发者

sqlalchemy - Performance issues with too many methods/attributes?

开发者 https://www.devze.com 2023-02-26 07:50 出处:网络
I have been using sqlalchemy for a few years now in replacement for Django models. I have found it very convenient to have custom methods attached to these models

I have been using sqlalchemy for a few years now in replacement for Django models. I have found it very convenient to have custom methods attached to these models

i.e.

class Widget(Base):
     __tablename__ = 'widgets'

     id = Column(Integer, primary_key=True)
     name = Column(Unicode(100))

     def get_slug(self, max_length=50):
         return slugify(self.name)[:max_length]

Is there a performance hit when doing things like session.query(Widget) if the model has a few dozen complex methods (50-75 lines)? Are these loaded into memory for every row returned and would it be more efficient to move some of these less-use开发者_如何学God methods into helper functions and import as-necessary?

def some_helper_function(widget):
    ':param widget: a instance of Widget()'
    # do something

Thanks!


You would not have any performance hit when loading the objects from the database using SA using just a session.query(...).
And you definitely should not move any methods out to any helper function for the sake of performance, as in doing so you would basically destroy the object oriented paradigm of your model.

0

精彩评论

暂无评论...
验证码 换一张
取 消