Это зависит от того, будете ли вы много создавать этот PDF. Если вы генерируете это часто, то, вероятно, будет лучше кэшировать последний сгенерированный PDF на 15–30 минут, чтобы избежать постоянной обработки этой «большой таблицы».
Получение всех этих данных займет некоторое время, но если вы не возражаете против задержки, это может быть хорошим решением, если вы не сгенерируете их заранее.
Если у вас есть много людей, которые обращаются к PDF и не хотят задержек, и данные не меняются очень быстро, вам, вероятно, следует сгенерировать их заранее. Интервал генерации должен соответствовать скорости устаревания ваших данных. Если данные меняются один раз в день, обычно достаточно ежедневного обновления. Если данные сильно меняются, вы можете генерировать каждые 30 минут или около того.
Так что это зависит от того, кто будет обращаться к PDF и как часто.