2

SQLite データベースを使用してデータを保存するアプリを作成しています。このアプリケーションはタスク アプリに似ており、ほとんどの場合、データを取得して表示し、必要に応じて更新します。

私の質問は、個別のオブジェクトを初期化する価値があるかどうか (アプリの読み込み時に発生すると思います)、または単純にデータベースとの間で値を読み書きする方がよいかどうかです。

私は両方の方法が使用されているのを見てきましたが、私の直感では、メモリのオーバーヘッドが少なくなり、最終的にデータベースから値を読み取ったりデータベースに保存したりする必要があるため、データベースと直接やり取りする方がはるかに安価であると言いますが、おそらく、データがロードまたは更新されるたびにクエリを実行すると、オブジェクトとやり取りするよりも遅くなります。

制約に関しては、コードとデータストアを可能な限りクロスプラットフォームにしたいので、ORM よりも SQLite データベースを使用していますが、Python、(Obj-)C とインターフェイスする ORM は見つかりませんでした。私が使用しているターゲット言語はJavaです。それぞれの言語で動作する提案があれば、お知らせください。

4

3 に答える 3

0

通常、特にアプリケーションへの同時アクセスが多数ある場合は、キャッシュが役立ちます。

Webサーバーに移動する必要があるたびに、時間が失われます(別のアプリケーション、通常は別のサーバーに移動して、データを前後に転送する必要があります)。ローカルオブジェクトへのアクセスははるかに高速です。

最も簡単な解決策は、Usersのようなクラスのキャッシュのオン/オフでこれを試して、違いが生じるかどうかを確認することです。

于 2012-06-12T12:31:57.327 に答える
0

データベースが大きすぎない場合は、インメモリ スタイルの SQLite データベースを (作成して) 使用することをお勧めします。まずはこれを見てください。さらに、メモリ内のデータベースへのアクセス/書き込みが完了したら、後で使用するためにいつでもファイルにダンプできます。SQLite データベースをメモリとディスクにそれぞれロードおよび保存するのは、 を使用して非常sqlite3_backup_init()sqlite3_backup_step()簡単ですsqlite3_backup_finish()

(ORM で必要な機能については明確ではありません。)

于 2012-06-13T18:33:37.900 に答える