比如: session.query(Artile).all() 和 Select * from articles ,这两种做法,对内存占用的大小有区别吗?
现在的问题是:遇到要做数据查询、过滤、分析 -> 根据分析结果再去查询、过滤、分析,这样的逻辑复杂的多重嵌套运算,不知道用那种方式比较好。
1 、一种方式,是多依赖数据库用 SQL 条件嵌套查询。这样会担心数据库负载重, sql 语句查询效率低。
2 、另外一种方式,就是先把数据对象导到内存里,通过迭代遍历,嵌套计算。这样又担心可能一条语句 session.query(Artile).all()就把内存吃光了。
上面例子虽然有点极端,实际情况加 filter 条件筛选 Article 查询出来的数据量也非常大。
通常这种情况,大家选择什么样的解决方式啊?
现在的问题是:遇到要做数据查询、过滤、分析 -> 根据分析结果再去查询、过滤、分析,这样的逻辑复杂的多重嵌套运算,不知道用那种方式比较好。
1 、一种方式,是多依赖数据库用 SQL 条件嵌套查询。这样会担心数据库负载重, sql 语句查询效率低。
2 、另外一种方式,就是先把数据对象导到内存里,通过迭代遍历,嵌套计算。这样又担心可能一条语句 session.query(Artile).all()就把内存吃光了。
上面例子虽然有点极端,实际情况加 filter 条件筛选 Article 查询出来的数据量也非常大。
通常这种情况,大家选择什么样的解决方式啊?