1

MySQL テーブルから返された値のデータセットがあり、それがグラフ化されます。各データ ポイントに、一定の時間間隔が必要です。たとえば、次のようになります。

データ ポイント 1: 1 - 日付/時刻: 2013-02-11 09:00:00

データ ポイント 2: 2 - 日付/時刻: 2013-02-11 09:05:00

データ ポイント 3: 3 - 日付/時刻: 2013-02-11 09:10:00

ただし、常にそうであるとは限りません。グラフ作成パッケージに一連のデータ値、開始時刻、および間隔時間を提供できれば、値のリストと日付/時刻のリストを提供する場合よりもはるかに迅速にグラフを処理して表示できます。

データポイントが欠落している 0 の値で MySQL クエリを事前入力または事後入力する最も効率的な方法は何ですか? たとえば、データ ポイント 2 が欠落している場合に上記のデータを使用すると、MySQL を取得して次のデータセットを返すために使用できるクエリは次のとおりです。

データ ポイント 1: 1 - 日付/時刻: 2013-02-11 09:00:00

データ ポイント 2: 0 - 日付/時刻: 2013-02-11 09:05:00

データ ポイント 3: 3 - 日付/時刻: 2013-02-11 09:10:00

前もって感謝します

4

2 に答える 2

0

このシナリオでは、コード内の配列/ハッシュ/リストをゼロ/ null値に初期化し、データベースからデータを受け取る場所で値を上書きします。

これをサーバー側で行う必要がある場合は、関心のある間隔で可能なすべての日付を格納する一時テーブルを作成し、現在のクエリをそれに結合したままにすることができます。

ここでの2番目の例:SQL結果(mysqlまたはperlのいずれか)で空の日付を埋める最も簡単な方法は何ですか?

于 2013-02-11T15:01:19.017 に答える
0

DBにガベージを入力しません。アプリケーション層で前処理を行うことができます。より高速で効率的です。

挿入ごとに IO を実行している場合、IO が大きなボトルネックになります。Java などのアプリケーション層でダミー ポイントを並べ替えて挿入すると、おそらく高速になります (チャートをレンダリングする前に行うことができます)。

さらに、データが CSV 形式で記録されたファイルがあると仮定すると、挿入LOAD DATAは非常に高速になります (各行を前処理して行ごとに挿入するよりも 20 倍高速になる可能性があります)。

于 2013-02-11T10:23:03.083 に答える