2017-09-12 17 views
-1

シマンテックのバックアップソフトウェアは、バックアップイメージの詳細をローカルのSqliteデータベースに書き込みます。私は中央の場所から複数のデバイス上のこれらのデータベースのいくつかを照会するユーティリティを書いています。私は、各データベースの単一のテーブルから最近追加されたレコードのみが必要です。リモートsqliteデータベースを照会

しかし、私が見ているネットワークトラフィックに基づいて、データベース全体がネットワークを介して転送されているようです。 ただし、procmonの結果に基づいて、テーブル内の4,920レコードがすべてネットワークを介して転送されているように見えます。 必要なレコードだけを取得する方法はありますか?おそらく、すべてのレコードを引き継ぐのを避けるためにインデックスでソートする必要がありますか?

ちょうど数KBのデータ転送が表示されるはずですが、クエリごとに数MBが表示されます。ファイルベースのMS Accessデータベースで必要なレコードだけを転送することは可能ですが、sqliteの経験はあまりありません。

私はより創造的なソリューションにもオープンしています。

+1

DBスキーマとクエリを表示します。インデックスはありますか? –

+0

テーブルを索引付けする必要がありました。正しい方向に私を指してくれてありがとう。 – mwolfe02

答えて

1

私はSQLiteのクエリによって生成されるネットワークトラフィックの量を減らすために、二つのことを解決しなければならなかった:

  1. は私のクエリ
  2. ORDER BY句が私のクエリにLIMIT句を追加マッチしたインデックスを追加私が実際に必要としたレコードを引っ張っているだけでした。
関連する問題