Выборка больших данных из базы сложными запросами?
EXPLAIN запроса, индексы. Иногда помогает замена JOIN на под запрос без зависимостей по данным (если результат база данных сама может закешировать). Так же если у вас проблемы с джойнами - спасают вьюшки.
есть еще чудесные операторы в селекте: limit и offset. Иногда они помогают.select * from (
   select * from table1
   union
   select * from table2
) limit 100 offset 200