私はSQLiteの使い方に非常に重いアプリケーションを書いています。私は私のデータ(私の個人的なCore Data ...本質的に)を分類してフィルタリングすることを可能にするメモリキャッシングシステムを自分のアプリケーションに書き込んでいます。これは、SQLiteデータベースからの読み取り要求を絶えず行うよりも、これがより優れた/より高速なオプションであるように思えるからです。さらに、ほとんどのフィールド/列は検索可能/並べ替え可能となり、それぞれのインデックスを設定するのは理想的ではないようです。確信はないけど。私はSQLiteデータベースがメモリにキャッシュされていることを知っていますが、私にとってはどれくらいの利点があるのか分かりません。私自身のキャッシングシステムを実装することは複雑で、おそらく私はソート/フィルタを実行するためにメモリに完全に各テーブルをロードしているので、私のメモリフットプリントに追加するでしょう。私はそれが私のアプリのパフォーマンスを助けるならば、それをしたいと思っていますが、それは可能でしょうか?私がSQLiteのキャッシュに十分に頼っているだけですか、テーブルが大きくなる(10,000+行)ようになったときにはうんざりしますか?私は誰かがSQLiteの経験を十分に持っているかどうかを尋ねていると思います。SQLiteのキャッシングとアプリケーションのキャッシング
誰かが尋ねる前に:いいえ私はコアデータを使用できません。コアデータは私のアプリケーションで使用するのに十分柔軟ではありません。
誰もいませんか?さて、私は自分のキャッシュを作るつもりです。とにかく興味深いプロジェクトになるでしょうし、少なくとも私は何が起こっているか知っています。 –
'pragma locking_mode = exclusive' IIRCを使うと、sqliteは* much *速くなります。 –