開始と終了のタイムスタンプと、実行された特定のクエリを含む SQL クエリのデータセットがあります。この情報を使用して、任意の時点で実行されている同時クエリの数を視覚化したいと考えています。
つまり、次のようなデータセットを使用します。
StartTime,StopTime,SQLStatement
10/11/2012 08:17:18.060,10/11/2012 08:17:19.221,DELETE FROM foo WHERE bar = ?;
10/11/2012 08:17:19.036,10/11/2012 08:17:19.911,SELECT * FROM users WHERE user_id = ?;
10/11/2012 08:17:19.661,10/11/2012 08:17:19.810,SELECT * FROM users WHERE user_id = ?;
...
横軸が時間を表し、縦軸が実行中のクエリの瞬間数を表すプロットを作成したいと思います。上記の例では、1 つのクエリが 08:17:19.000 で実行され、2 つのクエリが 08:17.19.100 で実行されています。
私の単純なアプローチは、StartTime と StopTime が各値にまたがる行を数えながら、約 100 万個の離散時間値を反復処理することです。これは遅く、特にうまくスケーリングできません。Rの方が優れた方法があるようです。
このデータの 15 分間のサンプルには、ミリ秒の精度で最大 170,000 行が含まれています。1 日分のデータに合理的にスケーリングできる方法が望ましいですが、どのような解決策も歓迎します!