かなりの時間がかかるクエリを開始し、Ajaxを介してUIから進行状況を監視することは可能ですか?
プロセスを、すぐに実行するようにスケジュールされた「1回実行」ジョブとして開始することを検討しました。結果を一時テーブルに保存して、完了したらすぐに取得できるようにすることができます。レポートの実行時間をログに記録し、それを平均して、進行状況バーの実行時間を推定することもできます。
現在、Microsoft SQL 2005を使用していますが、必要に応じてSQL 2008、MySQLなどの他のDBMSを使用します。