Если у Вас чисто теоретический вопрос - тогда так и отвечу без конкретных реализаций))) Работать будет относительно быстро, если регулярно осуществлять партицирование или сегментирование (почитайте в интернетах, очень полезная вещь даже для небольших БД). В кратце - это разделение всей БД по партициям, с которыми мускулу намного легче работать, чем с одной крупной БД. Сам мускул предоставляет отличные инструменты для этого. Более того, он сам определяет в какой партиции хранятся нужные данные уже в момент запроса. Так же при этом не накладывается совершенно никаких ограничений в работе с джоинами и индексами. Единственный минус заключается в том, что его нужно осуществлять вручную. Хотя для этого достаточно запускать простенький скрипт на кроне, который будет выполнять около сотни запросов партицирования всего раз в месяц. Нагрузки он этим почти не создаст, однако сам мускул Вам будет очень благодарен, что вы разгружаете его от ненужной работы по тасканию тяжеленных баз. Еще иногда с связке с ним реализуется шардинг, когда автоматически создается новая таблица в БД, когда в старой накопилось какое-то количество записей (как правило 10 000), c именами table1, table2, table3 и т. д. В этом случае разные БД можно вообще разнести по разным серверам, однако в большинстве случаев из-за некоторых субъективных факторов его реализация как правило неосуществима, поэтому в большинстве случаев повсеместно используется партицирование.
Также, как уже было сказано ранее - неизвестно, в каких условиях будет пользоваться Ваша БД: если запросов на добавление больше, чем на чтение - нужно пользовать MyISAM, иначе InnoDB, разница замечается. Сильно.