私のAndroidアプリは、ユーザーのPCで生成され、デバイスに転送されるSQLiteデータベースを使用して動作します。それはすべて機能しますが、実際に膨大な量のデータを持つユーザーの数は予想していませんでした。このような場合、UIはデータがフェッチされるのを待っているので非常に鈍いです。インデックス付きのAndroid SQLiteのパフォーマンス
私は、確かに速くなると確信していた多くのトリックを試しましたが、何も目に見える効果がないようです。私のクエリは、ほとんどすべて非常に単純です。通常、WHERE句の場合は1つの "col = val"で、カラムの場合はINTEGERデータです。だから私は多くのクエリを行うことはできません。
最新のSQLエキスパートではなく、PCで「CREATE INDEX」コマンドを使用して、これらのインデックスを使用してデータベース検索を高速化すると考えました。インデックスはデータベースファイルのサイズを大幅に増やしたので、私のアプリのスピードには何の影響も及ぼさないように思われました。インデックスなしで塗りつぶすのに8秒かかっていた画面でも、8秒かかることがあります。私はものの少なくとも半分を得ることを望んでいた。
私は、Android上のSQLite実装がデータベースインデックスをまったく使用していない場合や、単にそれらを生成してスペースを無駄にしているだけなのかどうかは分かりません。誰もこれに答えることができますか?
また、アクセスを高速化しようとする他のものはありますか?
(これは絶対的な意味でユーザーは何の不満もありません)私の最悪のケースのユーザーは、これまでに630,000レコード(15テーブル)を生成するデータを持っていますので、できるだけ多くのデータがあります)
ダグ・ゴードン GHCSシステム
いくつか遅いクエリをテーブル定義とインデックス定義と共に投稿します – Mikpa