Нет, выигрыша вы не получите, потому что в MySQL есть ещё время на открытие таблицы некоторое, и там доп. логику придётся писать с условиями из какой таблицы выбирать. Надо денормализовать данные хотя бы немного, сделать EXPLAIN, посмотреть, бывает MySQL сходит с ума и не использует правильные индексы.
5 млн. это не очень много, уверен всё можно привести в норму.
P.S. Сам работал с таблицей 3,5 млн. записей на сервере с 2 Гб памяти, всё отлично, дольше 0,1 секунды запросов нет, хотя и это многовато имхо.