【问题标题】:SAP HANA - Parallel Execution of Stored ProceduresSAP HANA - 存储过程的并行执行
【发布时间】:2019-03-02 00:04:18
【问题描述】:

我想问是否有一种方法可以在不使用 Jobs 的情况下从另一个存储过程中或从 xsjs-Service 并行调用具有不同参数(值)的相同存储过程。

根据我的经验,调用是同步运行的,并在第二次调用之前等待过程的第一次调用返回。

提前感谢您的时间和帮助。

亲切的问候...

【问题讨论】:

    标签: stored-procedures hana


    【解决方案1】:

    SQLScript 提供了在PARALLEL EXECUTION 块中运行语句的选项,如下所示:

    DO 
      BEGIN PARALLEL EXECUTION
         INSERT INTO mytab VALUES (1, 2, 3);
         INSERT INTO myothertab VALUES (4, 5, 6);
      END;
    

    详情请参阅文档here

    但是:正如文档所述,这包括用于执行过程的CALL 语句。

    【讨论】:

    • 非常感谢。这是仅在 Hana 2.0 中支持的功能,对吗?在 1.12 文档中,它声明 CALL 语句在 PARALLEL EXECUTION 中被阻塞。
    • 刚刚仔细检查,发现我弄错了:CALL 语句明确考虑并行执行;在 HANA 1 和 HANA 2 中都没有。
    【解决方案2】:

    文档链接: https://help.sap.com/viewer/de2486ee947e43e684d39702027f8a94/2.0.02/en-US/8db200a4f585490c81c4930689ec1a5c.html

    限制和限制

    适用以下限制:

    1. 不允许使用外键或触发器修改表
    2. 不允许在不同的语句中更新同一个表
    3. 只允许对一个表进行并发读取。隐式选择和 支持 SELCT INTO 标量变量语句。
    4. 调用包含动态 SQL 的过程(例如,EXEC、 EXECUTE IMMEDIATE) 在并行块中不受支持
    5. 混合只读过程调用和读写过程调用在一个 不允许并行块。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-10-11
      • 2021-08-25
      • 1970-01-01
      相关资源
      最近更新 更多