Sqlite performance

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Sqlite performance

    Hi.

    Hat hier jemand mit Sqlite zu tun?
    Da ich es in meinem Programm verwenden will, hab ich paar Performence tests gemacht.
    INSERT und UPDATE dauern erstaunlicherweise recht lange.
    Ich brauche fuer einen INSERT oder UPDATE (eine Zeile) 176 ms (im Schnitt ueber 100 INSERTs).
    Bei nur einem dauerts etwas laenger, ca. 250 - 300 ms.
    Das Ganze bei -Os Optimierung und einer Dateidatenbank. Bei einer inMemory db ist das fast nicht mehr messbar, so schnell gehts. Sqlite Version 3.2.1.
    Liegt der Flaschenhals also bei der FileIO, oder?
    Sind das normale Zeiten?

    Manfred
  • ich hoffe du machst vor den ganzen inserts ein BEGIN TRANSACTION und danach ein COMMIT TRANSACTION!
    Ansosnten ist das wirklich sehr langsam weil es immer auf die platte geschrieben wird!

    Zuerst habe ich das SQLite mit irgend so einem framwork verwendet, das hat mir aber massig CPU-Zeit verschlungen!
  • Bis jetzt mach ich es nicht so. Aber ich werde es so machen muessen.
    Das bedeutet aber auch, dass ich nicht jede kleine Aenderung an den Daten direkt in die DB schreiben kann. Weils einfach zu langsam ist.
    Ich muss also alle Aenderungen sammeln und per Save Button oder per Timer gesammelt weg schreiben...

    Ich hab mir ein eigenes Framework geschrieben, dass relativ wenig overhead hat. Sollte von der Performance nicht viel aus machen und die Datenbank ist als Bibliothek gleich mit drin.


    Manfred