4

私は現在、ローカルの sqlite データベースに格納されている大量の階層データにアクセスする必要がある iPhone のプロジェクトに取り組んでいます。より一般的な操作の 1 つは、ロールアップ ステータス フィールドの計算です。現在、そのアイテムのすべての子孫を再帰することでそれを行っています (深さは 1 ~ n レベルのどこでもかまいません)。ただし、これには多くのSQL呼び出しが必要になります。iPhone での各 sqlite 呼び出しは完了するまでに約 250 ミリ秒かかり、最終的には約 7.7 秒の処理時間になります。O(n) 時間未満でこのようなことを行う提案はありますか? 問題の根底にあるのは、膨大な数の SQL 呼び出しが行われていることだと思うので、それを減らしたいと考えています。

4

1 に答える 1

2

別のテーブル編成が必要です。Managing Hierarchical Data in MySQLまたはJoe Celko の本をご覧ください。

于 2009-05-06T22:32:14.157 に答える