Для простоты и скорости разработки, 2 в моем опыте.
Для производительности - это зависит от количества строк и таблиц, которые вы присоединяете и извлекаете обратно. Временные таблицы в памяти (как кажется, вы предлагаете) имеют накладные расходы, которые, очевидно, являются используемой памятью.
Я бы придерживался номера 2, как упомянуто, если только вы не работаете с данными в формате Walmart, то беспокоитесь о производительности, если это станет проблемой - «Аппаратное обеспечение дешевое, написание программного обеспечения дорого» * 1006 *