如何判断查询在 QuestDB 中以多线程运行?

问题描述 投票:0回答:1

我正在 QuestDB 中运行以下查询:

SELECT 
    timestamp,
    first(price) AS open,
    last(price) AS close,
    min(price),
    max(price),
    sum(amount) AS volume
FROM trades
WHERE symbol = 'BTC-USD' AND timestamp > dateadd('d', -1, now())
SAMPLE BY 15m ALIGN TO CALENDAR;

如何判断此查询使用了服务器上的所有可用核心?

sql database questdb
1个回答
0
投票

您应该检查查询的执行计划。您可以通过在查询文本的开头添加 EXPLAIN 子句来查看它:

EXPLAIN SELECT 
    timestamp,
    first(price) AS open,
    last(price) AS close,
    min(price),
    max(price),
    sum(amount) AS volume
FROM trades
WHERE symbol = 'BTC-USD' AND timestamp > dateadd('d', -1, now())
SAMPLE BY 15m ALIGN TO CALENDAR;

如果您在输出中看到

Async ...
节点,例如
Async JIT Group By
Async JIT Filter
,表示查询执行计划的相应部分并行运行,即在多个线程上运行。

© www.soinside.com 2019 - 2024. All rights reserved.