私のアンドロイドアプリでは、データをローカルに保存してインターネットのデータ使用量を減らし、オフラインアクセスを許可する予定です。現在のスキーマには9列あります。うち2つの列はURLを格納するためのもので、1つは平文の140文字、1つは日時、2つは平文の100文字、その他の3つは整数です。挿入されるレコードの数は、ユーザーがどれくらいのレコードを必要とするかによって異なります。彼はいつでも削除することができます。複数のレコードが1回挿入されます。削除と同じです。 私の質問は、挿入、削除、保守という点でアプリのオーバーロードが発生するのでしょうか?私は最初にこのデータをファイルシステム(xmlファイル)に保存することを考えましたが、レコードの削除は難しいかもしれません。だから私はストレージとしてSQLiteのアプローチやXMLファイルに行く必要があります。他のソリューションも歓迎されています。SQLiteスキーマ、データベースサイズ、アクセス速度、疑問の更新
答えて
私がお勧めしたいのは、SQLite over xmlです。 SQLiteはより速くて簡単になるだろうIMHO。私は両方から読んだ。決して挿入と更新を行いませんでした。
xmlファイルを開いてから解析し、閉じられたデータを取得する必要があります。0)正しい削除、更新、挿入がXMLファイルではもっと難しくなります。
はいはいはい、私は絶対にSQLiteのために行くと言います。あなたが記述したスキーマは実際にはかなり控えめであり、あなたが概説した使用パターンは何も重要ではありません。
SQLiteは、かなりの量のデータを効率的にデバイスのストレージに保存できるように設計されています。これは、特に効率的な形式ではなく、単一のレコードを取得しようと考えると、それよりもはるかに遅いXMLでデータを格納する方が望ましいでしょう。
私は自分自身がテーブルあたり10列以上の15以上の異なるテーブルを含むアプリケーションを書いています。要件はSqliteが快適に処理します。
お返事ありがとうございます。私はSQLiteに固執する。 :D – SachinGutte
同様に考慮すべき点:0)+1 – bytebender
- 1. SQLiteレコードの更新速度が改善されました
- 2. SQLiteでデータベースサイズを照会
- 3. 更新クエリを使用した疑問
- 4. Oracleスキーマの疑い?
- 5. SQLiteスキーマを変更する
- 6. drupalスキーマの更新
- 7. CSSの不透明度、疑問点
- 8. OpenDJスキーマの更新とデータの更新
- 9. iOS:UIStepper:値の更新速度を変更しますか?
- 10. アンドロイドsqliteの更新
- 11. データベースボトルsqliteの更新
- 12. Pythonネストループ速度の問題
- 13. TCP速度テスターアルゴリズムの質問
- 14. urlrewritefilter速度テンプレートレンダリングの問題
- 15. 速度テンプレートサブストリングの問題
- 16. パイガム速度の問題
- 17. Hibernateの新機能 - 疑問点
- 18. Laravel 5.3疑問符を含む文字列による更新
- 19. アンドロイドアプリケーション用のSqliteスキーマ
- 20. Webサービスへのアクセス::スキーマの問題
- 21. 変更UIScrollViewのドラッグ速度
- 22. インスタント速度の変更LibGDX
- 23. Android - SQLite更新ステートメント
- 24. Android SQlite更新クエリ
- 25. MethodExceptionEventHandlerの速度コンテキストへのアクセス
- 26. SQLiteの更新アイテムの値
- 27. Androidのsqliteデータベースの更新?
- 28. カメラの速度/速度を変更するには?
- 29. 静的メモリとヒープメモリへのアクセス速度
- 30. LocationListenerに速度の更新がありません
問題は、サーバーからダウンロードしたイメージにもキャッシュとしてローカルストレージを使用していることです。 SDカードが使用可能な場合は、内部memが使用されていない場合は使用されます。どのくらいの画像がダウンロードされ、sqliteデータベースの上に挿入されているかは、ユーザが選択するため、バインドされていません。しかし、同時に、私は、私のアプリが応答しない、またはこれをすべてやってあまりにも多くの時間を取ることを望んでいません。 – SachinGutte
あなたはAndroid開発にどれほど親しんでいるのかよく分かりませんが、AsyncTaskを使用してできるだけ早くこれらのことができることを確認し、UIスレッドを縛らないでください(応答を続ける)。また、データベース内の画像やその他のファイルの場所をSDカードまたは内部メモリに保存することもできます。 – bytebender
また、デバイスが使用されていないときにサービスを使用して作業を行うことも考えられます。 – bytebender