То, что является «слишком большим», действительно будет зависеть от того, насколько велико ваше оборудование. Сам MySQL не должен иметь проблем с управлением миллионами строк в таблице.
Тем не менее, я бы подумал о том, чтобы разделить его, чтобы получить максимально возможную производительность. Как именно вы это сделаете, будет зависеть от того, как используются данные. Более свежие данные используются намного чаще? Если это так, создайте архивную таблицу с той же структурой для хранения старых данных и периодически перемещайте данные из основной таблицы в архивную таблицу. Это увеличило бы сложность вашего приложения, но могло бы повысить производительность в долгосрочной перспективе.