SQLite

Dein Thema passt einfach in kein Forum? Dann probiers mal hier.
Antworten
JohnR
Beiträge: 42
Registriert: 3. Dezember 2011 12:23

SQLite

Beitrag von JohnR »

Hi

Ich möchte in meinen aktuellen Programm gern eine Datenbank verwenden, genauer möchte ich Identifikationsmerkmale welche die Datenbank vorhalten soll (Hashwerte bzw. md5) mit vom Programm ermittelten Werten vergleichen um bspw. Duplikate von Dateien zu erkennen.

Hierzu hätte ich ein paar grundsätzliche Fragen zu Sqlite.


mittels

Code: Alles auswählen

QSqlDatabase db = QSqlDatabase::addDatabase( "QSQLITE" );
   db.setDatabaseName( ":memory:" );
->Kann ich ja eine DB im Arbeitsspeicher anlegen, ist es andersherum auch möglich eine lokal abgelegte DB in den Arbeitsspeicher zu laden ?

In meinen denken dürfte das ja die Geschwindigkeit signifikant steigern wenn die DB-Zugriffe im Arbeitsspeicher stattfinden, als wenn die Zugriffe auf einer womöglich langsamen Festplatte laufen. Die Größe der DB würde ich auf max. 500 MB beziffern, am Anfang dürfte sie aber deutlich kleiner sein.

-> Im Wikipedia Artikel zur SQLite Datenbank habe ich gelesen, das Schreibzugriffe unterschiedlicher Threads auf eine einzelne DB stets nacheinander erfolgen müssen, kann ich daraus rückschliessen das ich lesend sehr wohl mit mehreren Threads gleichzeitig arbeiten könnte ?

mit freundlichen Grüßen

John
JohnR
Beiträge: 42
Registriert: 3. Dezember 2011 12:23

Re: SQLite

Beitrag von JohnR »

Antwort auf Frage zwei habe ich nun gefunden :mrgreen:

Code: Alles auswählen

Multiple processes can have the same database open at the same time. Multiple processes can be doing a SELECT at the same time. But only one process can be making changes to the database at any moment in time, however.
Antworten