В настоящее время я работаю над проектом для iPhone, который требует доступа к большому количеству иерархических данных, хранящихся в локальной базе данных sqlite. Одной из наиболее распространенных операций является вычисление поля состояния свертки. Прямо сейчас я делаю это, повторяя все потомки этого предмета (который может быть где угодно от 1 до n уровней). Тем не менее, это в конечном итоге требует много вызовов SQL. Каждый вызов sqlite на iPhone занимает около 250 мс, а в итоге это занимает около 7,7 секунд времени обработки. Есть ли у кого-нибудь предложения сделать что-то подобное менее чем за O (n) время? Я думаю, что корень проблемы заключается в большом количестве звонков sql, поэтому я хочу уменьшить это.