Ich habe gelesen, dass SQLite für den Durchsatz mit den Standardeinstellungen optimiert ist. Was ist der beste Weg, um SQLite auf minimale (und vorzugsweise vorhersagbare) Schreiblatenz einzustellen? Ich versuche, die Latenz eines einfachen update + Commits unter 10ms in allen Fällen zu halten.Wie sollte ich SQLite auf minimale Latenz einstellen?
Ich denke, ich muss WAL und Checkpoint in einem anderen Thread verwenden, aber ich bin mir nicht sicher, ob Checkpoints Schreiber auf dem Hauptthread blockieren werden.
Meine Anwendung hat nur einen einzigen Prozess, der gleichzeitig auf die Datenbank zugreift, sodass Sie sich keine Gedanken über Nebenläufigkeit machen müssen. Es ist wichtig, dass die Datenbank nicht beschädigt ist, aber die Dauerhaftigkeit ist nicht so wichtig (jüngste Transaktionen können verloren gehen).
"* Ich bin auf der Suche nach der Latenz eines einfachen update + commit unter 10ms in allen Fällen. *" Sie können nicht garantieren, dass, auch wenn Sie direkt zu und von der Datei manuell schreiben. Nebenläufigkeit ist immer noch wichtig, da es nur eine Festplatte gibt und Prozesse diese teilen müssen. –
@ Nicol Bolas, kann ich das zu 99% der Fälle entspannen? –
Auch - ein Schreiben in eine Datei trifft normalerweise auf den Puffer-Cache, daher denke ich, dass in fast allen Fällen eine Latenz von 10 ms erreicht werden sollte, solange die Haltbarkeit keine Voraussetzung ist. –