Оба разбивают большую таблицу, но на разных уровнях. Партиционирование разбивает одну таблицу на несколько файлов внутри одного сервера MySQL. Шардинг разбивает данные по нескольким независимым серверам. Партиционирование помогает таблице, которая слишком велика для одного файла; шардинг помогает нагрузке, которая слишком велика для одной машины.
Партиционирование (один сервер)
events (
id , created_at DATETIME, payload JSON,
(id, created_at)
) ((created_at)) (
p2024 LESS THAN (),
p2025 LESS THAN (),
p2026 LESS THAN ()
);
