【问题标题】:Grouping SQL queries分组 SQL 查询
【发布时间】:2012-05-03 15:27:24
【问题描述】:

有时,应用程序需要执行很多 SQL 查询才能执行任何有用的操作。我想知道是否有办法将这些作为批处理发送到数据库,以避免在客户端和服务器之间来回切换的开销?

如果没有标准的方法,我使用 MySQL 的 python 绑定。

PS:我知道 MySQL 有一个 executemany() 函数,但这仅适用于使用不同参数多次执行的同一查询,对吧?

【问题讨论】:

  • 在大多数情况下并行运行查询会更快/更有效。
  • 你有没有想过存储过程?
  • 我不知道 mysql-python 连接器是如何工作的,但在许多情况下,可以同时发送多个由; 分隔的查询(可能在启用允许这样的设置之后)。
  • 存储过程是一种选择,但我想知道是否有不使用它们的中间方式。
  • @eggyal :我刚刚尝试过,但它会引发“命令不同步”错误。我不认为这很简单:)

标签: mysql sql mysql-python


【解决方案1】:

这个过程最适合插入

  • 将所有 SQL 查询都放入存储过程。这些最终将成为子存储过程
  • 创建主存储过程以运行所有其他存储过程。
  • 修改主存储过程以接受子存储过程所需的值
  • 修改主存储过程以使用“if”语句来接受命令以了解哪个 要运行的子存储过程

如果您需要从数据库返回数据,请同时使用 1 个存储过程。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-09-29
    • 1970-01-01
    • 1970-01-01
    • 2015-08-08
    • 2018-09-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多