2012-02-20 2 views
2

コアデータなしでSQLiteを使用するルートに沿ってコミットしました。Obj-c、コアデータなしで、多くのSQLiteの挿入/更新クエリを実行する最も簡単な方法は何ですか?

データベースを照会した後にいくつかのデータベーストランザクションを実行する機能を高速化する必要があります。私は必要なすべての値を持つ行の辞書を作成しました。

これは、データベースのロックを回避するために行う必要があります。

現在、私はデータベースにレコードを追加する機能を呼び出しています。これは毎回データベースを開いたり閉じたりします。

明らかに、これはプロセスが遅いところです。

私はアプリがデータベース設定スクリプトに組み込まれているのが一般的だと考えていたので、クエリのバッチを実行する必要があります。

私はすべてのクエリで文字列を構築できたら、それを実行することができます。

しかし、私はこれが最良の方法であるか、バッチクエリを実行する方法が100%ではありません。

どのように進めるべきですか?手始めに

+0

データベースをまったく使用せず、別の方法(メモリに圧縮したデータを保存してアプリを閉じたときにディスクに書き込むなど)を行うか、重要なステップ:インフラストラクチャを常に再考し、絶対に必要なものだけが保存されるようにしてください。 SQLite APIの速度を最適化することは難しい課題です。 – Paul

答えて

0

私はCoreDataの代わりにプレーンなSQLiteを使って同じことをしようとしていましたが、後で気が変わりました。このプロセスでは、このリンクが役に立つとわかった場合:Improve INSERT-per-second performance of SQLite?。明白な(トランザクション、準備されたステートメント、..)を超えて、それはいくつかのSQLiteの特定のパフォーマンス調整を使用します。

関連する問題