Я не думаю, что вам нужно поддерживать разные таблицы для SELECT и INSERT, в основном так, если количество INSERT не очень большое или частое.Если таблица имеет правильные индексы, SELECT будет эффективным.Однако, обратите внимание, что слишком много индексов могут убить INSERT.
Поддерживая разные таблицы, я не думаю, что это принесет какую-либо выгоду нагрузке на сервер, потому что в любом случае будет 2 INSERT, работающих на запись.
Вы также можете посмотреть INSERT DELAYED, если считаете, что SELECT имеют более высокий приоритет, но я бы посоветовал вам прочитать их достаточно, прежде чем их использовать.
Я также предлагаю использовать InnoDB, потому что он использует строку-уровневая блокировка.
Вы также можете попробовать разбиение;Я думаю, что в вашем случае это может быть горизонтальное разбиение.Хотя я признаю, что у меня самого нет опыта его использования.
Однако, если вы думаете, что разбиение таблиц - это то, что, по вашему мнению, может работать лучше, я предлагаю вам изучить другие альтернативы.Как и вместо переноса данных из таблицы INSERT в таблицу SELECT, вы можете использовать одну и ту же таблицу для INSERT и SELECT, но поддерживать несколько таблиц, например одну для каждого месяца или любые другие критерии, которые вам подходят.Затем вы можете построить логику, чтобы решить, по какой таблице будет выполняться ваш запрос.Вы также можете в конечном итоге объединить старые таблицы, чтобы создать одну большую и удалить старые.