解释H2数据库的explain结果

Explaining the explain results of H2 database

运行 Apache Ignite 1.30 使用 H2 作为索引系统。

我运行我的查询通过解释得到了。

{"result":"[[
SELECT\n
    FIELD1 AS __C0\n
    FROM \"cache\".TRX\n

    /* \"cache\".\"FIELD2_idx\": FIELD2 = ?1 */\n

    WHERE FIELD2 = ?1], [SELECT\n
    __C0 AS FIELD1\n
    FROM \"cache\".__Z0()\n

    /* function */]]"}

好的,我知道它使用 field2 作为索引,但是第二个是什么 select?

这里的第一个SELECT是在远程节点上执行的查询的执行计划,第二个是在reduce步骤中执行的本地查询的执行计划。

远程查询执行计划显示索引使用正确,查询将以最快的方式执行。

由于此特定查询中没有聚合,因此减少步骤很简单 - 来自远程节点的结果集被简单地合并为一个。所以在这种情况下,执行计划实际上没有显示任何有用的信息。