У меня есть таблицы MySQL, в которых хранятся крипто-торговые операции, по одной таблице для каждой пары. Однако эти таблицы становятся все тяжелее и тяжелее, а запросы выполняются бесконечно.
Вот формат одного из них:
CREATE TABLE `aggtrade_bina_adabnb` (
`exchange_code` varchar(16) NOT NULL,
`symbol` varchar(16) NOT NULL,
`aggtrade_id` bigint(20) NOT NULL,
`price` decimal(16,8) NOT NULL,
`quantity` decimal(16,8) NOT NULL,
`first_breakdown_trade_id` bigint(20) NOT NULL,
`last_breakdown_trade_id` bigint(20) NOT NULL,
`trade_time` bigint(20) NOT NULL,
`is_buyer_maker` tinyint(1) NOT NULL,
`live_data` tinyint(1) DEFAULT 1
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4
PARTITION BY HASH (`aggtrade_id`)
PARTITIONS 4;
Конечно, я знаю, что мое текущее разбиение на разделы ужасно. Однако мне было интересно, есть ли способ автоматически разделить эту таблицу в зависимости от поля trade_time
, чтобы у меня была одна секция на каждый месяц, без необходимости указывать эти месяцы во время создания таблицы.
Заранее спасибо за помощь.