urllog (ID PK, url VARCHAR(435), create_time DATETIME),引擎 NDBCLUSTER。SELECT url, COUNT(*) cnt FROM urllog GROUP BY url ORDER BY cnt LIMIT 10(MySQL)SELECT TOP 10 url, COUNT(*) cnt FROM urllog GROUP BY url ORDER BY cnt(SQL Server)| 平台 | 耗時 |
|---|---|
| MySQL Cluster (NDB) | 9 分鐘 |
| SQL Server | 22 秒 |
性能差距 ~25 倍。
GROUP BY 需將所有分片數據拉取到單節點(或協調節點)排序聚合,網絡傳輸 + 序列化/反序列化 成本極高。ORDER BY cnt 無法利用索引順序,需全量物化排序。GROUP BY + ORDER BY,改用應用層分頁聚合或物化視圖預計算。NDB 解決的是「寫入擴展與極高可用」,而非「複雜聚合查詢性能」。OLAP 型聚合查詢應走專用列存(ClickHouse、Doris、StarRocks)或單機 InnoDB 讀副本。不要用錘子拧螺絲——為業務選對架構,而非為架構找業務。