MySQL 分區表實戰指南:維護與最佳實踐
MySQL 分區表是一個常被誤解的功能。許多人認為它能顯著提升查詢性能,但實際上,分區表的主要價值在於資料管理而非性能優化。本文基於 Rick James 的 Partition Maintenance 實戰經驗,探討分區表的正確使用方式。 分區表的本質與迷思 什麼是分區表? 分區表將一個邏輯表拆分成多個物理子表,但對應用程式而言仍是單一表。每個分區獨立存儲,可以獨立管理。 -- 一個按月分區的日誌表 CREATE TABLE logs ( id BIGINT AUTO_INCREMENT, log_time DATETIME NOT NULL, message TEXT, PRIMARY KEY (id, log_time) ) PARTITION BY RANGE (TO_DAYS(log_time)) ( PARTITION p202501 VALUES LESS THAN (TO_DAYS('2025-02-01')), PARTITION p202502 VALUES LESS THAN (TO_DAYS('2025-03-01')), PARTITION p202503 VALUES LESS THAN (TO_DAYS('2025-04-01')), PARTITION p_future VALUES LESS THAN MAXVALUE ); 常見迷思破解 ❌ 迷思 1:分區表能大幅提升查詢性能 ...