作者:劉春雷
TiFlash5.0.1與4.0.10 對比測試
2021-05-23 劉春雷
1、彙總
1.1、前言
因之前對比測試過DorisDB、ClickHouse、TiDB/TiFlash 4.0.10 版本的星型模型測試集,最近TiDB 5.0.1釋出,引入MPP,官方表明:在分析查詢上比4.0.x 會有質的提升,現進行測試。
1.2、測試結果
單表執行:
- 5.0.1 單表查詢,執行計劃預設走TiKV,依然存在執行計劃無法完美走TiFlash情況,強制走TiFlash比自動選擇的TiKV快
- 4.0.10 單執行個體 強制 比 4.0.10 單執行個體 預設 快:73.65%
- 5.0.1 單執行個體 強制 比 4.0.10 單執行個體 預設 快:66.42%
- 5.0.1 單表查詢,強制TiFlash,兩執行個體比單執行個體快的不多,比4.0.10 單執行個體 強制TiFlash 快:17.62%
多表關聯執行:
- 4.0.10 單執行個體 強制 比 4.0.10 單執行個體 預設 慢:11.38%
- 5.0.1 單執行個體 強制 比 5.0.1 單執行個體 預設 快:97.57%
- 5.0.1 單執行個體 預設 比 4.0.10 單執行個體 預設 快:80.60%
- 5.0.1 單執行個體 強制 比 4.0.10 單執行個體 強制 快:98.36%
- 5.0.1 兩執行個體 強制 比 5.0.1 兩執行個體 預設 快:56%
總結:
- 提升:
- 5.0.1 TiFlash整體性能有提升:單表查詢 比4.0.10 快的不明顯,多表關聯查詢,快的很多!
- 5.0.1 TiFlash 預設執行計劃 比 4.0.10 有提升
- 與DorisDB、ClickHouse的性能差距 比4.0.10 提升 明顯,尤其多表關聯查詢相差小很多
- 問題:
- 還是存在執行計劃有一定的不準确,導緻SQL執行時間不是最優
TiFlash 5.0.1 在性能上,比4.0.10 好很多,且在穩定性上也有提升,推薦大家及時更新,及時用起來~
注:DorisDB、ClickHouse測試資料,為引用之前的測試結果,可以參考之前的文章
【單表執行情況】:

【多表關聯執行情況對比】:\
2、準備工作
2.1、機器資訊
2.2、添加表至Tiflash
alter table lineorder SET TIFLASH REPLICA 1;
alter table customer SET TIFLASH REPLICA 1;
alter table dates SET TIFLASH REPLICA 1;
alter table part SET TIFLASH REPLICA 1;
alter table supplier SET TIFLASH REPLICA 1;
alter table lineorder_flat SET TIFLASH REPLICA 1;
2.3、測試流程
已有叢集5.0.1 -->導入資料 -->添加1個TiFlash–> 把表加入到TiFlash -->進行單表查詢、多表查詢、走預設tidb_isolation_read_engines 與 強制走TiFlash 進行對比
擴容至2個TiFlash 節點 -->等待均衡資料 --> 再次進行測試
【等待均衡】:
3、單表測試
參考文檔執行SQL,位址:https://www.dorisdb.com/zh-CN/blog/1.8
【舉例:5.0.1 單表查詢,預設】 :
可以看到執行計劃預設走tikv
強制走TiFlash
set SESSION tidb_isolation_read_engines = “tiflash”;
4、多表關聯查詢測試
參考文檔執行SQL
【舉例:5.0.1 多表查詢,預設】: