私のアンドロイドアプリでは、データをローカルに保存してインターネットのデータ使用量を減らし、オフラインアクセスを許可する予定です。現在のスキーマには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. 更新クエリを使用した疑問
- 2. Oracleスキーマの疑い?
- 3. SQLiteスキーマを変更する
- 4. drupalスキーマの更新
- 5. CSSの不透明度、疑問点
- 6. iOS:UIStepper:値の更新速度を変更しますか?
- 7. TCP速度テスターアルゴリズムの質問
- 8. urlrewritefilter速度テンプレートレンダリングの問題
- 9. パイガム速度の問題
- 10. アンドロイドsqliteの更新
- 11. 変更UIScrollViewのドラッグ速度
- 12. アンドロイドアプリケーション用のSqliteスキーマ
- 13. Hibernateの新機能 - 疑問点
- 14. Webサービスへのアクセス::スキーマの問題
- 15. Android SQlite更新クエリ
- 16. Androidのsqliteデータベースの更新?
- 17. 最新の更新頻度設計の問題
- 18. sqliteデータベースの同期/更新
- 19. 更新テキスト列はSQLiteの
- 20. SQLiteとアクティビティの更新
- 21. MySQLクエリのデータベースサイズ
- 22. アンドロイドサービスからsqliteを更新してアクセスする
- 23. SQLite - 事前にデータベースサイズを割り当てる
- 24. すべてのスキーマの表データを一度に更新します
- 25. SQL Server - 別のデータベースのスキーマの更新
- 26. Google Chromeの速度の問題
- 27. トランザクションでのOracleスキーマ更新のラップ
- 28. Doctrineのスキーマの更新が外部キー
- 29. ファイルアクセス速度とデータベースアクセス速度
- 30. Python辞書構造、速度の問題
問題は、サーバーからダウンロードしたイメージにもキャッシュとしてローカルストレージを使用していることです。 SDカードが使用可能な場合は、内部memが使用されていない場合は使用されます。どのくらいの画像がダウンロードされ、sqliteデータベースの上に挿入されているかは、ユーザが選択するため、バインドされていません。しかし、同時に、私は、私のアプリが応答しない、またはこれをすべてやってあまりにも多くの時間を取ることを望んでいません。 – SachinGutte
あなたはAndroid開発にどれほど親しんでいるのかよく分かりませんが、AsyncTaskを使用してできるだけ早くこれらのことができることを確認し、UIスレッドを縛らないでください(応答を続ける)。また、データベース内の画像やその他のファイルの場所をSDカードまたは内部メモリに保存することもできます。 – bytebender
また、デバイスが使用されていないときにサービスを使用して作業を行うことも考えられます。 – bytebender