Hi,
ich habe für eine App (schon mehr als 1 Jahr im Appstore) eine kleine Datenbank mit zwei Tabellen:
auf der Tabelle SM_Cell habe ich zwei Indexe:
In der Datenbank werden Charts abgelegt. Die können bis auf 50x50 groß sein
Jede Zelle hat eine Koordinate, Farbe und Symbol
Es gibt Aktivitäten vom Anwender, bei der das gesamte Chart geändert werden kann.
Das heisst dann konkret über alle Zeilen mal Spalten laufen und ein update in der Datenbank ausführen.
Das mache ich damit:
Alles anzeigen
Ein Chart neu anlegen mit Standardsymbol und Standardfarbe mittels "Insert" ist schnell (wenige Sekunden)
Das update der selben Chartgröße dauert viele MINUTEN (bei einer Datenbank mit ca 150 Charts und ca 90.000 Zellen)
Hat jemand einen Tip für mich, wie ich den Code optimieren kann, ohne die App quasi neu zu schreiben?
ich habe für eine App (schon mehr als 1 Jahr im Appstore) eine kleine Datenbank mit zwei Tabellen:
auf der Tabelle SM_Cell habe ich zwei Indexe:
In der Datenbank werden Charts abgelegt. Die können bis auf 50x50 groß sein
Jede Zelle hat eine Koordinate, Farbe und Symbol
Es gibt Aktivitäten vom Anwender, bei der das gesamte Chart geändert werden kann.
Das heisst dann konkret über alle Zeilen mal Spalten laufen und ein update in der Datenbank ausführen.
Das mache ich damit:
Quellcode
- -(void)updateCellDB:(NSString *)index withSymbol:(NSString *)symbol withColor: (NSString *)color withKopfID:(int)kopfID
- {
- NSString *sqlQuery = [NSString stringWithFormat:@"UPDATE SM_Cell SET Symbol = '%@', Color = '%@' WHERE ID_Kopf LIKE %d AND Koordinate LIKE '%@';", symbol, color, kopfID, index];
- const char *sql = [sqlQuery UTF8String];
- sql = [sqlQuery UTF8String];
- if (sqlite3_prepare_v2(database, sql, -1, &statement, nil) == SQLITE_OK)
- {
- sqlite3_step(statement);
- sqlite3_finalize(statement);
- }
- }
Ein Chart neu anlegen mit Standardsymbol und Standardfarbe mittels "Insert" ist schnell (wenige Sekunden)
Das update der selben Chartgröße dauert viele MINUTEN (bei einer Datenbank mit ca 150 Charts und ca 90.000 Zellen)
Hat jemand einen Tip für mich, wie ich den Code optimieren kann, ohne die App quasi neu zu schreiben?
Ich habe auch keine Loesung, aber ich bewundere das Problem!
_____________________________________________________
Hape42
_____________________________________________________
Hape42