ORM или любой слой моделирования данных никогда не улучшат вашу производительность. Их единственная цель - ускорить и упростить время разработки. Они общеизвестно плохи в принятии решений, когда дело доходит до правильного использования отношений и заканчивают тем, что опрашивают все таблицы, чтобы найти правильные данные. На этом уровне сложных запросов вы не сможете абстрагировать эти отношения без ущерба для производительности.
MySQL подходит как минимум для пары миллионов записей (я использовал более 100 миллионов в одной таблице). Для повышения производительности вы, как правило, хотите иметь хотя бы настройку master / slave и какой-то метод распределения чтений между ними. База данных почти всегда будет ограничивающим фактором в производительности. Вы всегда можете добавить больше веб-серверов и получить баланс нагрузки перед ними, чтобы решить другую сторону, но настройку базы данных всегда немного сложнее поддерживать.
Вы должны подумать о том, почему вы хотите использовать ORM. Если это по причинам развития, это нормально, но будьте уверены, что ваша производительность пострадает. В противном случае придерживайтесь запросов. ORM добавляет третий уровень кода для работы и изучения. Если вы знаете PHP и MySQL, вам нужно учить третий язык, чтобы эффективно их использовать? Чаще всего ответ - нет.
У вас есть много вариантов на выбор, но имейте в виду, что в какой-то момент выбранный вами фреймворк / ORM не будет вести себя так, как вы этого хотите, и чтобы заставить его соответствовать вашим желаниям, вам придется много искать и копаться в коде. Это классическая проблема - сэкономить время заранее и заплатить за него позже или потратить время сразу, без возможного выигрыша позже.