Pergunta

Atualmente, estou trabalhando em um projeto para o iPhone que requer acesso a uma grande quantidade de dados hierárquicos armazenados em um banco de dados SQLite local. Uma das operações mais comuns está calculando um campo de estado cumulativo. Agora, eu estou fazendo isso por recursão através de todos os descendentes desse item (que pode ser em qualquer lugar de 1 a n níveis de profundidade). No entanto, isso acaba exigindo um monte de chamadas SQL. Cada chamada SQLite em um iPhone leva cerca de 250ms para ser concluída, e no final isso acrescenta-se a cerca de 7,7 segundos de tempo de processamento. Alguém tem alguma sugestão de fazer algo parecido com isso em menos de O (n) tempo? Eu acho que a raiz do problema é o grande número de chamadas de SQL que está sendo feito, de modo que é o que eu estou olhando para reduzir.

Foi útil?

Solução

Você precisa de uma organização tabela diferente. Ter um olhar para Gerenciamento de dados hierárquicos em MySQL ou pelo Joe Celko livro .

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top