Dieser ist auch mit spalilite verwandt (nicht nur SQLite)
Ich habe eine Datei-Datenbank ( xyz.db
), die ich von SQLiteconnection
verwende ( SQLiteconnection
erweitert sich auf spatialite).
Ich habe so viele Datensätze in der Datenbank zu aktualisieren.
%Vor% Bei über logic castarraylist
ist Arraylist
, das den Wert enthält, der in die Datenbank verarbeitet werden muss.
Wenn ich oben den Code überprüft habe, werden ca. 400 Datensätze in einer Minute aktualisiert.
Gibt es irgendeine Möglichkeit, die Leistung zu verbessern?
HINWEIS :: (Datei-Datenbank ist nicht Thread-sicher)
2. BEGIN TRANSACTION
Nehmen wir an, ich möchte zwei (oder Millionen) Update-Anweisung mit einer einzigen Transaktion in Spatialite ausführen .. ist es möglich?
Ich lese online und bereite die unten stehende Aussage für mich vor (aber bekomme keinen Erfolg)
%Vor%Die obige Anweisung aktualisiert Datensätze in meiner Datenbank nicht. unterstützt SQLite BEGIN TRANSACTION nicht? Gibt es etwas was ich vermisse?
Und wenn ich eine individuelle Anweisung ausführen muss, dauert es zu lange, um wie oben beschrieben zu aktualisieren ...
Das primäre Ziel einer Datenbanktransaktion , um alles zu erledigen, oder nichts , wenn etwas im Inneren fehlschlägt;
Die Verwendung desselben SQLiteCommand-Objekts durch Ändern der CommandText-Eigenschaft und wiederholtes Ausführen ist immer schneller, aber führt zu einem Speicher-Overhead : Wenn ja eine wichtige Menge von Abfragen durchzuführen, ist das Beste, das Objekt nach der Verwendung zu entsorgen und ein neues zu erstellen;
Ein allgemeines Muster für eine ADO.NET-Transaktion ist:
%Vor%Tags und Links sql c# sqlite spatialite