毎秒データを収集し、「:memory」データベースに保存しています。このデータベースへのデータの挿入は、トランザクション内で行われます。
1 つのリクエストがサーバーに送信されるたびに、サーバーは最初のメモリからデータを読み取り、何らかの計算を行い、それを 2 番目のデータベースに格納して、クライアントに送り返します。このために、別の ":memory:" データベースを作成して、最初のデータベースの集計情報を格納します。集計結果を取得するには大規模な計算を行う必要があるため、同じデータベースを使用することはできません。これはトランザクション内では実行できません (1 つのコレクションに 5 秒かかると、4 秒のデータがすべて失われるため)。元のデータを収集して挿入している間は集計データを書き込むことができないため、同じデータベースにテーブルを作成できません(トランザクション内にあり、1秒ごとに収集しています)
-- 両方のデータベースからデータを取得したい場合があります。これらの両方のメモリ データベースをリンクするにはどうすればよいですか? attach database stmt を使用して、2 番目のデータベースを最初のデータベースに接続できます。しかし、問題は次回リクエストが来たときに、2番目のデータベースが存在するかどうかをどのように確認するのでしょうか?
-- 2 番目のメモリ データベースを最初のメモリ データベースに接続するとします。最初のデータベースにデータを書き込むと、2 番目のデータベースがロックされますか?
-- この集計データを保存する他の方法はありますか??