RWM Console cluster: risingwave-adib.adib-rw.svc.cluster.local

← cluster insights objects settled_cost_basis_carried_mv explain
Overview Objects Graph History
materialized view · insights.settled_cost_basis_carried_mv profiled over 5s
seconds (1–30)

Job is idle — throughput ~0; structure shown.

Stateful hash join (4 state tables) — consider a temporal join for dimension lookupsAggregation state — unbounded unless keyed or temporally filteredWindow state — add a WHERE rank <= N to bound it
22 operators
Materialize · insights.settled_cost_basis_carried_mv
0% idle 2 actors
Project
2 actors
Merge
2 actors
Exchange
0% idle 0 actors
SyncLogStore · Inner · settled_cost_basis_dedup_mv_next.account_id IS NOT DISTINCT…
2 actors
HashJoin · Inner · settled_cost_basis_dedup_mv_next.account_id IS NOT DISTINCT… Stateful hash join (4 state tables) — consider a temporal join for dimension lookups
0% idle 2 actors
Project · Inner · settled_cost_basis_dedup_mv_next.account_id IS NOT DISTINCT…
2 actors
HashAgg · Inner · settled_cost_basis_dedup_mv_next.account_id IS NOT DISTINCT… Aggregation state — unbounded unless keyed or temporally filtered
0% idle 2 actors
Merge
2 actors
Exchange
0% idle 0 actors
NoOp
0% idle 2 actors
Merge
2 actors
Exchange
0% idle 0 actors
Project
2 actors
OverWindow Window state — add a WHERE rank <= N to bound it
0% idle 2 actors
Merge
2 actors
Exchange
0% idle 0 actors
Project · settled_cost_basis_dedup_mv_next
2 actors
StreamScan · settled_cost_basis_dedup_mv_next
0% idle 2 actors
BatchPlan
2 actors
Merge
2 actors
Merge
2 actors
Heat = the operator's output-buffer backpressure over the sampling window. Click a node to fold its subtree.
Materialize · insights.settled_cost_basis_carried_mv Materialize insights.settled_cost_b… idle · 2 actors Project Project — · 2 actors Merge Merge — · 2 actors Exchange Exchange idle · 0 actors SyncLogStore · Inner · settled_cost_basis_dedup_mv_next.account_id IS NOT DISTINCT… SyncLogStore Inner · settled_cost_ba… — · 2 actors HashJoin · Inner · settled_cost_basis_dedup_mv_next.account_id IS NOT DISTINCT… HashJoin Inner · settled_cost_ba… idle · 2 actors Project · Inner · settled_cost_basis_dedup_mv_next.account_id IS NOT DISTINCT… Project Inner · settled_cost_ba… — · 2 actors HashAgg · Inner · settled_cost_basis_dedup_mv_next.account_id IS NOT DISTINCT… HashAgg Inner · settled_cost_ba… idle · 2 actors Merge Merge — · 2 actors Exchange Exchange idle · 0 actors NoOp NoOp idle · 2 actors Merge Merge — · 2 actors Exchange Exchange idle · 0 actors Project Project — · 2 actors OverWindow OverWindow idle · 2 actors Merge Merge — · 2 actors Exchange Exchange idle · 0 actors Project · settled_cost_basis_dedup_mv_next Project settled_cost_basis_dedu… — · 2 actors StreamScan · settled_cost_basis_dedup_mv_next StreamScan settled_cost_basis_dedu… idle · 2 actors BatchPlan BatchPlan — · 2 actors Merge Merge — · 2 actors Merge Merge — · 2 actors
Streaming operator plan from EXPLAIN ANALYZE. Node heat = backpressure. Drag to pan, scroll to zoom.
Fragments (DESCRIBE FRAGMENTS) — click to expand
Fragment 19093 (Actor 98817,98818)
StreamMaterialize { columns: [account_id, asset_id, type, currency_code, dim_value_date, average_cost_per_unit, average_cost_per_unit_system_currency, total_cost_system_currency, cost_fx_provenance, purchased_quantity, m_is_stub, sum(hidden)], stream_key: [account_id, asset_id, currency_code, dim_value_date, sum], pk_columns: [account_id, asset_id, currency_code, dim_value_date, sum], pk_conflict: NoCheck }
├── output: [ settled_cost_basis_dedup_mv_next.account_id, settled_cost_basis_dedup_mv_next.asset_id, settled_cost_basis_dedup_mv_next.type, settled_cost_basis_dedup_mv_next.currency_code, settled_cost_basis_dedup_mv_next.dim_value_date, settled_cost_basis_dedup_mv_next.average_cost_per_unit, $expr5, $expr6, $expr7, settled_cost_basis_dedup_mv_next.purchased_quantity, settled_cost_basis_dedup_mv_next.m_is_stub, sum ]
├── stream key: [ settled_cost_basis_dedup_mv_next.account_id, settled_cost_basis_dedup_mv_next.asset_id, settled_cost_basis_dedup_mv_next.currency_code, settled_cost_basis_dedup_mv_next.dim_value_date, sum ]
└── StreamProject { exprs: [settled_cost_basis_dedup_mv_next.account_id, settled_cost_basis_dedup_mv_next.asset_id, settled_cost_basis_dedup_mv_next.type, settled_cost_basis_dedup_mv_next.currency_code, settled_cost_basis_dedup_mv_next.dim_value_date, settled_cost_basis_dedup_mv_next.average_cost_per_unit, Case(IsTrue(settled_cost_basis_dedup_mv_next.m_is_stub), max($expr2), settled_cost_basis_dedup_mv_next.average_cost_per_unit_system_currency) as $expr5, Case(IsTrue(settled_cost_basis_dedup_mv_next.m_is_stub), max($expr3), settled_cost_basis_dedup_mv_next.total_cost_system_currency) as $expr6, Case(IsTrue(settled_cost_basis_dedup_mv_next.m_is_stub), max($expr4), settled_cost_basis_dedup_mv_next.cost_fx_provenance) as $expr7, settled_cost_basis_dedup_mv_next.purchased_quantity, settled_cost_basis_dedup_mv_next.m_is_stub, sum] }
    ├── output: [ settled_cost_basis_dedup_mv_next.account_id, settled_cost_basis_dedup_mv_next.asset_id, settled_cost_basis_dedup_mv_next.type, settled_cost_basis_dedup_mv_next.currency_code, settled_cost_basis_dedup_mv_next.dim_value_date, settled_cost_basis_dedup_mv_next.average_cost_per_unit, $expr5, $expr6, $expr7, settled_cost_basis_dedup_mv_next.purchased_quantity, settled_cost_basis_dedup_mv_next.m_is_stub, sum ]
    ├── stream key: [ settled_cost_basis_dedup_mv_next.account_id, settled_cost_basis_dedup_mv_next.asset_id, settled_cost_basis_dedup_mv_next.currency_code, settled_cost_basis_dedup_mv_next.dim_value_date, sum ]
    └── MergeExecutor
        ├── output: [ settled_cost_basis_dedup_mv_next.account_id, settled_cost_basis_dedup_mv_next.asset_id, settled_cost_basis_dedup_mv_next.type, settled_cost_basis_dedup_mv_next.currency_code, settled_cost_basis_dedup_mv_next.dim_value_date, settled_cost_basis_dedup_mv_next.average_cost_per_unit, settled_cost_basis_dedup_mv_next.average_cost_per_unit_system_currency, settled_cost_basis_dedup_mv_next.total_cost_system_currency, settled_cost_basis_dedup_mv_next.cost_fx_provenance, settled_cost_basis_dedup_mv_next.purchased_quantity, settled_cost_basis_dedup_mv_next.m_is_stub, max($expr2), max($expr3), max($expr4), sum, settled_cost_basis_dedup_mv_next.account_id, settled_cost_basis_dedup_mv_next.asset_id, settled_cost_basis_dedup_mv_next.currency_code, sum ]
        └── stream key: [ settled_cost_basis_dedup_mv_next.account_id, settled_cost_basis_dedup_mv_next.asset_id, settled_cost_basis_dedup_mv_next.currency_code, settled_cost_basis_dedup_mv_next.dim_value_date, sum ]

Fragment 19094 (Actor 98819,98820)
StreamSyncLogStore
├── output: [ settled_cost_basis_dedup_mv_next.account_id, settled_cost_basis_dedup_mv_next.asset_id, settled_cost_basis_dedup_mv_next.type, settled_cost_basis_dedup_mv_next.currency_code, settled_cost_basis_dedup_mv_next.dim_value_date, settled_cost_basis_dedup_mv_next.average_cost_per_unit, settled_cost_basis_dedup_mv_next.average_cost_per_unit_system_currency, settled_cost_basis_dedup_mv_next.total_cost_system_currency, settled_cost_basis_dedup_mv_next.cost_fx_provenance, settled_cost_basis_dedup_mv_next.purchased_quantity, settled_cost_basis_dedup_mv_next.m_is_stub, max($expr2), max($expr3), max($expr4), sum, settled_cost_basis_dedup_mv_next.account_id, settled_cost_basis_dedup_mv_next.asset_id, settled_cost_basis_dedup_mv_next.currency_code, sum ]
├── stream key: [ settled_cost_basis_dedup_mv_next.account_id, settled_cost_basis_dedup_mv_next.asset_id, settled_cost_basis_dedup_mv_next.currency_code, settled_cost_basis_dedup_mv_next.dim_value_date, sum ]
└── StreamHashJoin { type: Inner, predicate: settled_cost_basis_dedup_mv_next.account_id IS NOT DISTINCT FROM settled_cost_basis_dedup_mv_next.account_id AND settled_cost_basis_dedup_mv_next.asset_id IS NOT DISTINCT FROM settled_cost_basis_dedup_mv_next.asset_id AND settled_cost_basis_dedup_mv_next.currency_code IS NOT DISTINCT FROM settled_cost_basis_dedup_mv_next.currency_code AND sum IS NOT DISTINCT FROM sum }
    ├── output: [ settled_cost_basis_dedup_mv_next.account_id, settled_cost_basis_dedup_mv_next.asset_id, settled_cost_basis_dedup_mv_next.type, settled_cost_basis_dedup_mv_next.currency_code, settled_cost_basis_dedup_mv_next.dim_value_date, settled_cost_basis_dedup_mv_next.average_cost_per_unit, settled_cost_basis_dedup_mv_next.average_cost_per_unit_system_currency, settled_cost_basis_dedup_mv_next.total_cost_system_currency, settled_cost_basis_dedup_mv_next.cost_fx_provenance, settled_cost_basis_dedup_mv_next.purchased_quantity, settled_cost_basis_dedup_mv_next.m_is_stub, max($expr2), max($expr3), max($expr4), sum, settled_cost_basis_dedup_mv_next.account_id, settled_cost_basis_dedup_mv_next.asset_id, settled_cost_basis_dedup_mv_next.currency_code, sum ]
    ├── stream key: [ settled_cost_basis_dedup_mv_next.account_id, settled_cost_basis_dedup_mv_next.asset_id, settled_cost_basis_dedup_mv_next.currency_code, settled_cost_basis_dedup_mv_next.dim_value_date, sum ]
    ├── MergeExecutor { output: [ settled_cost_basis_dedup_mv_next.account_id, settled_cost_basis_dedup_mv_next.asset_id, settled_cost_basis_dedup_mv_next.type, settled_cost_basis_dedup_mv_next.currency_code, settled_cost_basis_dedup_mv_next.dim_value_date, settled_cost_basis_dedup_mv_next.average_cost_per_unit, settled_cost_basis_dedup_mv_next.average_cost_per_unit_system_currency, settled_cost_basis_dedup_mv_next.total_cost_system_currency, settled_cost_basis_dedup_mv_next.cost_fx_provenance, settled_cost_basis_dedup_mv_next.purchased_quantity, settled_cost_basis_dedup_mv_next.m_is_stub, sum, $expr2, $expr3, $expr4 ], stream key: [ settled_cost_basis_dedup_mv_next.account_id, settled_cost_basis_dedup_mv_next.asset_id, settled_cost_basis_dedup_mv_next.currency_code, settled_cost_basis_dedup_mv_next.dim_value_date ] }
    └── StreamProject { exprs: [settled_cost_basis_dedup_mv_next.account_id, settled_cost_basis_dedup_mv_next.asset_id, settled_cost_basis_dedup_mv_next.currency_code, sum, max($expr2), max($expr3), max($expr4)] } { output: [ settled_cost_basis_dedup_mv_next.account_id, settled_cost_basis_dedup_mv_next.asset_id, settled_cost_basis_dedup_mv_next.currency_code, sum, max($expr2), max($expr3), max($expr4) ], stream key: [ settled_cost_basis_dedup_mv_next.account_id, settled_cost_basis_dedup_mv_next.asset_id, settled_cost_basis_dedup_mv_next.currency_code, sum ] }
        └── StreamHashAgg { group_key: [settled_cost_basis_dedup_mv_next.account_id, settled_cost_basis_dedup_mv_next.asset_id, settled_cost_basis_dedup_mv_next.currency_code, sum], aggs: [max($expr2), max($expr3), max($expr4), count] } { output: [ settled_cost_basis_dedup_mv_next.account_id, settled_cost_basis_dedup_mv_next.asset_id, settled_cost_basis_dedup_mv_next.currency_code, sum, max($expr2), max($expr3), max($expr4), count ], stream key: [ settled_cost_basis_dedup_mv_next.account_id, settled_cost_basis_dedup_mv_next.asset_id, settled_cost_basis_dedup_mv_next.currency_code, sum ] }
            └── MergeExecutor { output: [ settled_cost_basis_dedup_mv_next.account_id, settled_cost_basis_dedup_mv_next.asset_id, settled_cost_basis_dedup_mv_next.type, settled_cost_basis_dedup_mv_next.currency_code, settled_cost_basis_dedup_mv_next.dim_value_date, settled_cost_basis_dedup_mv_next.average_cost_per_unit, settled_cost_basis_dedup_mv_next.average_cost_per_unit_system_currency, settled_cost_basis_dedup_mv_next.total_cost_system_currency, settled_cost_basis_dedup_mv_next.cost_fx_provenance, settled_cost_basis_dedup_mv_next.purchased_quantity, settled_cost_basis_dedup_mv_next.m_is_stub, sum, $expr2, $expr3, $expr4 ], stream key: [ settled_cost_basis_dedup_mv_next.account_id, settled_cost_basis_dedup_mv_next.asset_id, settled_cost_basis_dedup_mv_next.currency_code, settled_cost_basis_dedup_mv_next.dim_value_date ] }

Fragment 19095 (Actor 98821,98822)
StreamProject { exprs: [settled_cost_basis_dedup_mv_next.account_id, settled_cost_basis_dedup_mv_next.asset_id, settled_cost_basis_dedup_mv_next.type, settled_cost_basis_dedup_mv_next.currency_code, settled_cost_basis_dedup_mv_next.dim_value_date, settled_cost_basis_dedup_mv_next.average_cost_per_unit, settled_cost_basis_dedup_mv_next.average_cost_per_unit_system_currency, settled_cost_basis_dedup_mv_next.total_cost_system_currency, settled_cost_basis_dedup_mv_next.cost_fx_provenance, settled_cost_basis_dedup_mv_next.purchased_quantity, settled_cost_basis_dedup_mv_next.m_is_stub, sum, Case(Not(IsTrue(settled_cost_basis_dedup_mv_next.m_is_stub)), settled_cost_basis_dedup_mv_next.average_cost_per_unit_system_currency, null:Decimal) as $expr2, Case(Not(IsTrue(settled_cost_basis_dedup_mv_next.m_is_stub)), settled_cost_basis_dedup_mv_next.total_cost_system_currency, null:Decimal) as $expr3, Case(Not(IsTrue(settled_cost_basis_dedup_mv_next.m_is_stub)), settled_cost_basis_dedup_mv_next.cost_fx_provenance, null:Varchar) as $expr4] }
├── output: [ settled_cost_basis_dedup_mv_next.account_id, settled_cost_basis_dedup_mv_next.asset_id, settled_cost_basis_dedup_mv_next.type, settled_cost_basis_dedup_mv_next.currency_code, settled_cost_basis_dedup_mv_next.dim_value_date, settled_cost_basis_dedup_mv_next.average_cost_per_unit, settled_cost_basis_dedup_mv_next.average_cost_per_unit_system_currency, settled_cost_basis_dedup_mv_next.total_cost_system_currency, settled_cost_basis_dedup_mv_next.cost_fx_provenance, settled_cost_basis_dedup_mv_next.purchased_quantity, settled_cost_basis_dedup_mv_next.m_is_stub, sum, $expr2, $expr3, $expr4 ]
├── stream key: [ settled_cost_basis_dedup_mv_next.account_id, settled_cost_basis_dedup_mv_next.asset_id, settled_cost_basis_dedup_mv_next.currency_code, settled_cost_basis_dedup_mv_next.dim_value_date ]
└── StreamOverWindow { window_functions: [sum($expr1) OVER(PARTITION BY settled_cost_basis_dedup_mv_next.account_id, settled_cost_basis_dedup_mv_next.asset_id, settled_cost_basis_dedup_mv_next.currency_code ORDER BY settled_cost_basis_dedup_mv_next.dim_value_date ASC ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW)] }
    ├── output: [ settled_cost_basis_dedup_mv_next.account_id, settled_cost_basis_dedup_mv_next.asset_id, settled_cost_basis_dedup_mv_next.type, settled_cost_basis_dedup_mv_next.currency_code, settled_cost_basis_dedup_mv_next.dim_value_date, settled_cost_basis_dedup_mv_next.average_cost_per_unit, settled_cost_basis_dedup_mv_next.average_cost_per_unit_system_currency, settled_cost_basis_dedup_mv_next.total_cost_system_currency, settled_cost_basis_dedup_mv_next.cost_fx_provenance, settled_cost_basis_dedup_mv_next.purchased_quantity, settled_cost_basis_dedup_mv_next.m_is_stub, $expr1, sum ]
    ├── stream key: [ settled_cost_basis_dedup_mv_next.account_id, settled_cost_basis_dedup_mv_next.asset_id, settled_cost_basis_dedup_mv_next.currency_code, settled_cost_basis_dedup_mv_next.dim_value_date ]
    └── MergeExecutor { output: [ settled_cost_basis_dedup_mv_next.account_id, settled_cost_basis_dedup_mv_next.asset_id, settled_cost_basis_dedup_mv_next.type, settled_cost_basis_dedup_mv_next.currency_code, settled_cost_basis_dedup_mv_next.dim_value_date, settled_cost_basis_dedup_mv_next.average_cost_per_unit, settled_cost_basis_dedup_mv_next.average_cost_per_unit_system_currency, settled_cost_basis_dedup_mv_next.total_cost_system_currency, settled_cost_basis_dedup_mv_next.cost_fx_provenance, settled_cost_basis_dedup_mv_next.purchased_quantity, settled_cost_basis_dedup_mv_next.m_is_stub, $expr1 ], stream key: [ settled_cost_basis_dedup_mv_next.account_id, settled_cost_basis_dedup_mv_next.asset_id, settled_cost_basis_dedup_mv_next.currency_code, settled_cost_basis_dedup_mv_next.dim_value_date ] }

Fragment 19096 (Actor 98826,98825)
StreamProject { exprs: [settled_cost_basis_dedup_mv_next.account_id, settled_cost_basis_dedup_mv_next.asset_id, settled_cost_basis_dedup_mv_next.type, settled_cost_basis_dedup_mv_next.currency_code, settled_cost_basis_dedup_mv_next.dim_value_date, settled_cost_basis_dedup_mv_next.average_cost_per_unit, settled_cost_basis_dedup_mv_next.average_cost_per_unit_system_currency, settled_cost_basis_dedup_mv_next.total_cost_system_currency, settled_cost_basis_dedup_mv_next.cost_fx_provenance, settled_cost_basis_dedup_mv_next.purchased_quantity, settled_cost_basis_dedup_mv_next.m_is_stub, Case(Not(IsTrue(settled_cost_basis_dedup_mv_next.m_is_stub)), 1:Int32, 0:Int32) as $expr1] }
├── output: [ settled_cost_basis_dedup_mv_next.account_id, settled_cost_basis_dedup_mv_next.asset_id, settled_cost_basis_dedup_mv_next.type, settled_cost_basis_dedup_mv_next.currency_code, settled_cost_basis_dedup_mv_next.dim_value_date, settled_cost_basis_dedup_mv_next.average_cost_per_unit, settled_cost_basis_dedup_mv_next.average_cost_per_unit_system_currency, settled_cost_basis_dedup_mv_next.total_cost_system_currency, settled_cost_basis_dedup_mv_next.cost_fx_provenance, settled_cost_basis_dedup_mv_next.purchased_quantity, settled_cost_basis_dedup_mv_next.m_is_stub, $expr1 ]
├── stream key: [ settled_cost_basis_dedup_mv_next.account_id, settled_cost_basis_dedup_mv_next.asset_id, settled_cost_basis_dedup_mv_next.currency_code, settled_cost_basis_dedup_mv_next.dim_value_date ]
└── StreamTableScan { table: settled_cost_basis_dedup_mv_next, columns: [account_id, asset_id, type, currency_code, dim_value_date, average_cost_per_unit, average_cost_per_unit_system_currency, total_cost_system_currency, cost_fx_provenance, purchased_quantity, m_is_stub] }
    ├── output: [ settled_cost_basis_dedup_mv_next.account_id, settled_cost_basis_dedup_mv_next.asset_id, settled_cost_basis_dedup_mv_next.type, settled_cost_basis_dedup_mv_next.currency_code, settled_cost_basis_dedup_mv_next.dim_value_date, settled_cost_basis_dedup_mv_next.average_cost_per_unit, settled_cost_basis_dedup_mv_next.average_cost_per_unit_system_currency, settled_cost_basis_dedup_mv_next.total_cost_system_currency, settled_cost_basis_dedup_mv_next.cost_fx_provenance, settled_cost_basis_dedup_mv_next.purchased_quantity, settled_cost_basis_dedup_mv_next.m_is_stub ]
    ├── stream key: [ settled_cost_basis_dedup_mv_next.account_id, settled_cost_basis_dedup_mv_next.asset_id, settled_cost_basis_dedup_mv_next.currency_code, settled_cost_basis_dedup_mv_next.dim_value_date ]
    ├── Upstream { output: [ account_id, asset_id, type, currency_code, dim_value_date, average_cost_per_unit, average_cost_per_unit_system_currency, total_cost_system_currency, cost_fx_provenance, purchased_quantity, m_is_stub ], stream key: [] }
    └── BatchPlanNode { output: [ account_id, asset_id, type, currency_code, dim_value_date, average_cost_per_unit, average_cost_per_unit_system_currency, total_cost_system_currency, cost_fx_provenance, purchased_quantity, m_is_stub ], stream key: [] }

Fragment 19097 (Actor 98823,98824)
StreamNoOp { output: [ settled_cost_basis_dedup_mv_next.account_id, settled_cost_basis_dedup_mv_next.asset_id, settled_cost_basis_dedup_mv_next.type, settled_cost_basis_dedup_mv_next.currency_code, settled_cost_basis_dedup_mv_next.dim_value_date, settled_cost_basis_dedup_mv_next.average_cost_per_unit, settled_cost_basis_dedup_mv_next.average_cost_per_unit_system_currency, settled_cost_basis_dedup_mv_next.total_cost_system_currency, settled_cost_basis_dedup_mv_next.cost_fx_provenance, settled_cost_basis_dedup_mv_next.purchased_quantity, settled_cost_basis_dedup_mv_next.m_is_stub, sum, $expr2, $expr3, $expr4 ], stream key: [ settled_cost_basis_dedup_mv_next.account_id, settled_cost_basis_dedup_mv_next.asset_id, settled_cost_basis_dedup_mv_next.currency_code, settled_cost_basis_dedup_mv_next.dim_value_date ] }
└── MergeExecutor { output: [ settled_cost_basis_dedup_mv_next.account_id, settled_cost_basis_dedup_mv_next.asset_id, settled_cost_basis_dedup_mv_next.type, settled_cost_basis_dedup_mv_next.currency_code, settled_cost_basis_dedup_mv_next.dim_value_date, settled_cost_basis_dedup_mv_next.average_cost_per_unit, settled_cost_basis_dedup_mv_next.average_cost_per_unit_system_currency, settled_cost_basis_dedup_mv_next.total_cost_system_currency, settled_cost_basis_dedup_mv_next.cost_fx_provenance, settled_cost_basis_dedup_mv_next.purchased_quantity, settled_cost_basis_dedup_mv_next.m_is_stub, sum, $expr2, $expr3, $expr4 ], stream key: [ settled_cost_basis_dedup_mv_next.account_id, settled_cost_basis_dedup_mv_next.asset_id, settled_cost_basis_dedup_mv_next.currency_code, settled_cost_basis_dedup_mv_next.dim_value_date ] }