1

かなりの時間がかかるクエリを開始し、Ajaxを介してUIから進行状況を監視することは可能ですか?

プロセスを、すぐに実行するようにスケジュールされた「1回実行」ジョブとして開始することを検討しました。結果を一時テーブルに保存して、完了したらすぐに取得できるようにすることができます。レポートの実行時間をログに記録し、それを平均して、進行状況バーの実行時間を推定することもできます。

現在、Microsoft SQL 2005を使用していますが、必要に応じてSQL 2008、MySQLなどの他のDBMSを使用します。

4

1 に答える 1

0

長時間実行されているジョブが別のテーブルにデータを入力する場合の1つのアイデア。

ソース行から処理された行数を監視し、数秒ごとに単純な「処理されたx行」を表示する2番目のデータベース接続があります

SELECT COUNT(*) FROM TargetTable WITH (NOLOCK)

ソーステーブルもある場合:

SELECT COUNT(*) FROM SourceTable WITH (NOLOCK)

..次に、「処理されたy行のx」を使用できます

基本的に、最初の接続を監視するには2番目の接続を使用する必要があります。ただし、測定するものも必要です...

于 2009-08-18T11:41:04.167 に答える