gpt4 book ai didi

sqlalchemy - SQL Alchemy - 插入查询结果

转载 作者:行者123 更新时间:2023-12-04 06:17:17 25 4
gpt4 key购买 nike

我正在 SQLAlchemy 中寻找一种方法来进行批量处理 INSERT其行是查询的结果。我知道 session 具有功能 add它可用于添加单个对象,但我似乎无法找到它如何与子查询一起使用。

我知道我可以遍历子查询的结果和 add他们单独,但这似乎有点低效。就我而言,我正在处理一组可能非常大的需要插入的数据。

最佳答案

我看到以下选项:

  • 使用 SA 模型 :使用从数据库加载的数据创建底层对象,将它们添加到 session 并提交。
  • 优点:如果你有任何 AS 模型级别的验证,你就可以使用它;如果您的模型对象映射到多个表( Joined-Table Inheritance ),您也可以插入到多个表中; 独立于 RDBMS
  • 缺点:最贵
  • 使用插入语句 : 将数据库中的数据加载到python中并使用Insert Expressions执行
  • 优点:与 1 相比稍快一些。
  • 缺点:仍然很昂贵,因为创建了 python 结构;不能直接处理Joined-Table Inheritance
  • 仅使用 RDBMS 创建数据 :使用 RDBMS 批量插入仅完全绕过 SA 和 python。
  • 优点:最快
  • 缺点:没有执行业务对象验证;潜在 需要特定于 RDBMS 的实现

  • 我会建议选项 1) 或 3)。
    事实上,如果您没有任何对象验证并且只使用一个 RDBMS,我会坚持使用选项 3) .

    关于sqlalchemy - SQL Alchemy - 插入查询结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7068530/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com