Divida a tabela gigante em tabelas filhas físicas menores por uma partition key, para que cada consulta toque apenas as partições de que precisa (partition pruning) em vez de escanear bilhões de linhas. Uma tabela com 5B de linhas de pedidos ainda se comporta como uma tabela lógica, mas o engine pula 99% dela quando seu WHERE filtra pela partition key.
O formato de uma tabela particionada
orders (logical parent)
│ partition key = created_at
┌────────────────┼────────────────┬───────────────┐
▼ ▼ ▼ ▼
orders_2024_q1 orders_2024_q2 orders_2024_q3 orders_2025_q1
(child table) (child table) (child table) (child, active)
│ │
local index local index
(per child) (per child)
