2

「タイムマシン」の開発に着手しようとしていますテーブルに大量のレコードを保存する必要があります。バックアップを実行するたびに、約 50,000 レコードを書き込みます。これは、コンピューターにあるファイルの数だからです (各レコードは、ファイルの保存とは関係ありません。レコードには各ファイルが配置されているパスが含まれます) とにかく、XML を使用してレコードを保存できるかどうかはわかりません。クエリが複雑になることはなく、ローカル データベースを作成するよりも展開が簡単だからです。 「クエリは単純ですが、大量のデータを処理することになるため、より効率的になるかどうかはわかりません。さらに、ローカル データベースが 2GB を超えて大きくなる可能性があるかどうかもわかりません。 1 年間定期的に使用すると、データベースは約 3 GB になると見積もっています。

私は XML を使用し、Xpath を使用してクエリを実行することを好み、アプリケーションのデプロイを容易にします。しかし、ローカル データベースを作成した方が効率的であることが判明し、非常に多くのレコードがあるために XML を使用するとアプリケーションが遅くなる場合は、代わりにローカル データベースを作成します。他の推奨事項があれば、何か他のことをする必要があるかもしれません。

4

3 に答える 3

6

SQLiteを見てください。

これは組み込みの強力なデータベースです。SQL サーバー インスタンスをインストールする必要はありません。
このデータベースは、特定の API を持つファイルと考えることができます。API を使用すると、このファイルに対して SQL クエリを実行できます。

于 2011-05-28T04:52:07.143 に答える
2

SQL Server 2008 R2 Expressでは、最大 10 GB のサイズのデータ​​ベースを使用できるため、推定容量要件を考慮すると、これを検討する価値があります。

XML ではなく何らかの形式のデータベースにデータを保存する方がはるかに優れています。後者はすぐにサイズが大きくなり、クエリが非常に遅くなり、メモリを集中的に使用するようになるためです。

于 2011-05-28T04:52:08.327 に答える
1

大量のデータを格納するために XML を使用すると、データにアクセスしようとすると大量のメモリが必要になります。ストレージのスペース使用に関しても、あまり効率的ではありません。SQL のバージョンを使用することをお勧めします。Microsoft SQL の Express エディションの 1 つを使用することも、MySQL などのオープン ソースの SQL フレーバーを使用することもできます。

大量の情報を保存する場合は、リレーショナル データベースを検討する必要があります。この方法をどうしても使いたくない場合は、各バックアップを独自の XML ファイルに保存することを検討できます。これにより、移植性が向上し、アーカイブされたデータにアクセスする際のメモリ フットプリントが削減されます。

于 2011-05-28T04:59:27.397 に答える