【发布时间】:2015-07-12 03:05:29
【问题描述】:
我正在尝试自己学习 OOP,并且我正在尝试了解何时使用类。
如果我有一个名为 User 的类,它有几个不同的方法……等等。现在假设我的数据库中有 50,000 个用户要查询以进行报告。假设我想根据 User 类属性提取一半用户的 id。
这是否意味着该类的实例被创建了 50,000 次?如果是这样,与拥有一个执行查询的独立函数相比,这不会减慢速度吗?
【问题讨论】:
-
这并不是关于对象本身,而是关于执行数据库查询时的开销(例如 ORM)。你真的是在问“如果使用 ORM 为每条记录创建一个对象实例,它的开销会不会太重?” 还有其他方法可以表示您的用户,例如 SQL 表/数据库/模式(sqlite/ MySQL/ Postgres/ 等),或 Django,或 No-SQL DB。最终你的代码想要做什么?您是否需要使用 Python 以及其他系统要求是什么(GUI?REST 接口?CPU 和内存需求)?如果你可以在一行 SQL 中做到这一点,那为什么不直接在 SQL 中完成呢?
-
python ORM overhead 上已有 59 个问题,可能这是重复的。还有很多现有的文章“我应该使用 ORM 吗?” 除非您告诉我们您的系统要求,否则只有您自己可以回答这个问题。
标签: python database class oop orm