Наружные соединения дороже внутренних. То, что я собираюсь сказать, будет противоречивым для многих. Если вы правильно настроите базу данных и не сделаете ничего глупого и если вы используете профессиональную СУБД, то 7 внутренних объединений не должны быть проблемой.
Что я подразумеваю под настройкой базы данных? Существует много настроек базы данных, но самая очевидная вещь, которую нужно проверить, это убедиться, что вы всегда соединяетесь по индексированным столбцам.
Что я имею в виду под тупой? Не используйте оператор OR в ваших условиях соединения. Постарайтесь сохранить ваши объединения по одному сравнению, например, по внешнему ключу в одной таблице, равному первичному ключу в другой таблице. Старайтесь, чтобы все ключевые поля были напечатаны как целые числа.
Если вы столкнулись с проблемами производительности, обязательно изучите план выполнения ошибочного запроса. Например, вы можете столкнуться с проблемами при объединении действительно больших таблиц, таких больших, что даже сканирование индекса будет слишком медленным. Возможно, вам придется денормализовать и обеспечить дополнительную фильтрацию, чтобы сократить время сканирования. Не пытайтесь предвидеть это. Денормализацию лучше всего выполнять редко и только после того, как вы столкнетесь с реальной ситуацией с производительностью.