Frage

Zur Zeit arbeite ich an einem Projekt für das iPhone, die in einer lokalen SQLite-Datenbank eine große Menge von hierarchischen Daten gespeichert erfordern den Zugriff. Eine der häufigsten Operationen wird ein Rollup Statusfeld berechnet wird. Gerade jetzt, ich mache das von Rekursion durch alle Nachkommen dieses Elements (die überall von 1 bis n Ebenen tief sein kann). Jedoch endet dies eine Menge von SQL-Aufrufe erfordern werden. Jeder SQLite Anruf auf einem iPhone nimmt 250ms um zu vollenden, und am Ende dieses fügt rund 7,7 Sekunden Verarbeitungszeit auf. Hat jemand irgendwelche Vorschläge in weniger so etwas wie dies tun, als O (n) Zeit? Ich denke, die Wurzel des Problems ist die schiere Anzahl der SQL-Aufrufe gemacht werden, so dass das, was ich suche zu reduzieren.

War es hilfreich?

Lösung

Sie brauchen eine andere Tabelle Organisation. Hier finden Sie aktuelle Verwalten hierarchischer Daten in MySQL oder bei Joe Celko Buch .

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top