2

私の iOS アプリでは、800.000 行を超える sqlite データベースを取得しています。多かれ少なかれ、行内のテキストのみ。現時点では、select ステートメントを実行するのに 1 分以上必要です。それは正常ですか、それとも何か間違っていますか。

そのタスクをスピードアップする可能性はありますか?

私の問題は、 Webサービスなどでそれを行うことができないということです。インターネットに接続せずにiPadで直接実行する必要があります.

どんなアイデアでも大歓迎です。

4

1 に答える 1

6

抽象的にアドバイスを提供することは困難ですが、一般的には次のとおりです。

  1. 測定。ボトルネックの場所理由を見つける
  2. コード/データベース スキームを改善する
  3. 1に行く

(1) に最適なツールは、SQLiteの "プランの説明" 機能です。これにより、結果がどのように得られるかがわかります。1 分以上かかる場合は、テーブル全体のスキャンが多数表示されると思います。

(2) の答えは、(1) で見つけたものによって異なります。クエリを改善できる場合があります。インデックスが必要な場合があります。

ポイント(3)が重要です。何が最高のパフォーマンス向上をもたらすかを推測しないでください。測定。

于 2012-08-20T07:31:09.237 に答える