Альтернатива для рекурсивного выполнения рекурсивных вычислений в sqlite?

StackOverflow https://stackoverflow.com/questions/832106

Вопрос

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

Это было полезно?

Решение

Вам нужна другая организация таблиц. Просмотрите Управление иерархическими данными в MySQL или книга Джо Селко .

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top