0

はい、私のmysqlデータベースには約20,000のレコードがあります。ユーザーは、画面上で特定の結果を得るために入力を行います。ユーザーが入力を提供して送信をクリックすると、結果が画面に表示されるまで循環し続ける GIF 画像が表示されます。

しかし、GIF画像の代わりにパーセンテージ(読み込み中10%)を表示したいと思います。通常、ユーザーはデータを取得するために日付範囲を指定するため、クエリは指定された日付範囲内のデータを選択します。では、ユーザーに対するパーセンテージをどうすればよいか教えてください

ありがとうございました..

4

1 に答える 1

0

いくつかのオプションがあります。データを返すサーバーへの AJAX 要求を 1 つだけ使用していると想定しています。

1: ajax リクエストを 1 つだけ実行している場合、監視できる唯一の状態はAJAX リクエストの状態であり、それに基づいてパーセンテージを変更します。これに関する問題は、リクエストの送信とサーバーからの結果の受信の間に、リクエストの時間に大きな割合の変化があることです。

2: 複数のリクエストを送信し、データが最初のリクエストのどこで終了したかを何らかの方法で追跡し、一度に少量のデータのみを送信することができます。これには、作成しなければならないリクエストの数に負担がかかるという問題があり、すべてのデータを 1 回返すだけの方がよいでしょう。

テーブルが最適化されている限り、サーバーはすべてのデータをまとめるのにそれほど時間はかかりません。あなたの主な問題は、応答が大きい(> 1MB)ことだと思います。データが 20,000 行しかない場合を除き、送信する不要なデータを削減してみてください。これは非常に迅速な要求になるはずです。

この質問を見ると、ダウンロードされたバイト数を確認する方法が 1 つありますが、特定のブラウザとは互換性がありません。

返されるデータを制限し、要求が X 個を超える結果を返した場合にユーザーにページング オプションを提供することをお勧めします。

于 2013-03-23T06:23:13.607 に答える