Обычно вы разделяете свои архивные данные, потому что вы выполняете OLTP-обработку ваших текущих данных, потому что вы хотите в основном работать с текущими данными, а иногда и смотреть на старые вещи. Но у вас очень мало обновлений, кажется. Я предполагаю, что основной движущей силой являются ваши запросы, и то, что они «обычно» делают, и какую производительность вы должны получить от них. Возможно, вам будет проще иметь все в одной таблице - с колонкой год. Но если большинство ваших запросов относятся к текущему году, и они сильно снижают производительность, вам может потребоваться разделить текущие данные - либо с использованием физических таблиц, либо разбиения таблицы (в зависимости от БД некоторые могут сделать это для ты, пока еще находишься за одним столом)