Все зависит от вашего приложения и вашего оборудования. Моя ставка - позволить базам данных (особенно MySQL) выполнять только работу с базами данных. Я имею в виду, не так много работы, чем хранить и извлекать данные. Другие СУБД могут быть очень эффективными (например, Informix), но, к сожалению, MySQL нет.
Временные таблицы могут быть более эффективными, чем массивы PHP, но вы увеличиваете количество соединений с БД.
Масштабируемость также является проблемой. Так лучше делать на PHP.