"Partitioning"
- MySQL Partitioning:partition lifecycle 五段、跟 Vitess sharding 不同的「同 instance 內水平切割」
MySQL native partitioning 是 *同一個 MySQL instance 內的水平切割*、不是 Vitess sharding(跨 instance)。本文走 partition lifecycle 五段(design → create → query → maintenance → drop)、4 種 partition type(RANGE / LIST / HASH / KEY + COLUMNS / sub-partitioning)的 trade-off、partition pruning 怎麼運作、5 production 踩雷(PK 必須含 partition key / global index 沒原生 / partition exchange 細節 / orphan partition / cross-partition query 慢)、跟 PG declarative-partitioning 對比
- PostgreSQL declarative partitioning:partition 不是切表、是讓 planner pruning
Declarative partitioning 的真實價值是 query planner pruning + maintenance scope 縮小、不是「把大表切小」;RANGE / LIST / HASH 取捨、partition key 選法、5 個 production 踩雷(key 選錯不 prune / unique 不 enforce 跨 partition / ATTACH 鎖太久 / partition 數爆 / DETACH 不 reclaim 空間)、跟 autovacuum + index 設計整合
- PostgreSQL pg_partman Advanced
PostgreSQL pg_partman 自動分區、premake、retention、maintenance job、partition migration 與 runbook