1.設置數據庫變量
SET tidb_allow_mpp = 1;
2.注意
TiDB 支持使用 MPP 模式來執行查詢。在 MPP 執行模式下,SQL 優化器會生成 MPP 的執行計划。
注意 MPP 模式僅對有 TiFlash 副本的表生效。
3.MPP 查詢片段和 MPP 任務
在 MPP 模式下,一個查詢在邏輯上會被切分為多個 MPP 查詢片段 (query fragment)。示例如 下: 1. EXPLAIN SELECT COUNT(*) FROM t1 GROUP BY id; 這個查詢在 MPP 模式下會包含兩個查詢片段,一個為一階段聚合,一個為二階段聚合(最終聚合)。 在查詢執行的時候每個查詢片段都會被實例化為一個或者多個 MPP 任務。
4.Exchange 算子
MPP 查詢的執行計划中有兩個 MPP 特有的 Exchange 算子,分別為 ExchangeReceiver 和
ExchangeSender。ExchangeReceiver 表示從下游查詢片段讀取數據,ExchangeSender 表示
下游查詢片段向上游查詢片段發送數據。在 MPP 執行模式下,每個 MPP 查詢片段的根算子均為
ExchangeSender 算子,即每個查詢片段以 ExchangeSender 為界進行划分。一個簡單的 MPP
計划如下: