MySQL 引擎在平時數據及超寫數據下,INSERT 的速度比較
作者比較了 MySQL 幾個常見的引擎: InnoDB / MyRocks / TokuDB。
平時數據:指的是 Insert 速度在 SSD 可承載範圍內。
超寫數據:指的是 Insert 速度超出 SSD 可承載範圍時 (IO-Bound)。
數據指出:
- 使用高速 SSD 時,平時數據的表現為 InnoDB 5.7 > TokuDB > MyRocks;超寫數據的表現為 TokuDB > MyRocks > InnoDB 5.7。
- 使用低速 SSD 時,平時數據的表現為 InnoDB 5.7 > MyRocks;超寫數據的表現為 MyRocks > InnoDB 5.7。(作者未在低速環境中測試 TokuDB)。
結論
- 使用低速 SSD 時,MyRocks 表現最好,具成本優勢。
- InnoDB 建議用高階 SSD,效果較低階 SSD 顯著。
- 超寫數據下 (IO-Bound),InnoDB 5.7 表現極差,建議改用 MyRocks 或 TokuDB。
- InnoDB 5.7 在此的各種評比均較 InnoDB 5.6 快。
- 作者的數據評比皆是 Insert-only,若是一般正常使用應該是 Query 與 Insert 混用,此時 TokuDB 的效能不會比 MyRocks 好。