Einzelnen Beitrag anzeigen

sko1

Registriert seit: 27. Jan 2017
577 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#1

Beschleunigungstips für SQLite unter Android erwünscht

  Alt 17. Mai 2017, 12:08
Datenbank: SQLite • Version: ? • Zugriff über: FMX TFDQuery
Hallo,

ich habe viele Datensätze in eine SQLite-Datenbank zu schreiben, unter Windows dauert das nur ca. 10 Sekunden,
unter Android, der eigentlichen Anwendung braucht der Anwender viel Geduld, da gehen schon mal bis 5 Minuten drauf um ca. 10000 Datensätze mit jeweils ca. 15 Feldern zu schreiben!

Jetzt suche ich Möglichkeiten das zu beschleunigen:

Bisher habe ich sinngemäß folgendes gemacht:

Delphi-Quellcode:
FDQuery.Append;
FDQuery.Edit;
FDQuery.fieldByName('xxxx').AsString := 'asdffghg';
FDQuery.post;
Jetzt habe ich alle INSERTS in einer Stringlist und arbeite diese so ab:

Delphi-Quellcode:
    FDQuery.SQL.Text := 'BEGIN TRANSACTION;';
    FDQuery.ExecSQL;
    for s := 0 to SQLList.Count - 1 do
    begin
      FDQuery.SQL.Text := SQLList[s];
      FDQuery.ExecSQL;
    end;
    // abschicken
    FDQuery.SQL.Text := 'COMMIT;';
    FDQuery.ExecSQL;
Das geht minimal schneller, vielleicht 4 anstelle 5 Minuten

Was ist bei mir die Bremse oder geht das auf einem Handy wirklich alles so langsam, hat jemand eine Idee wo ich ansetzen könnte?

Ciao
Stefan
  Mit Zitat antworten Zitat