2008-11-20 7 views

Antwort

16

Es ist eigentlich ziemlich einfach. Geben Sie einfach ': memory:' als Datenbank-Dateinamen an, wenn Sie eine Datenbank mit der C/C++ - API öffnen. Es ist eine besondere Konstante, die der Motor erkennt. Dasselbe gilt auch für andere Sprachen wie Python oder Ruby, da sie normalerweise nur die C/C++ - API umschließen. Vollständige Details finden Sie unter http://sqlite.org/c3ref/open.html.

5

Öffnen Sie einfach die Datei: Speicher: und das sollte es tun (zumindest tut es in PHP).

Sie erwähnen, dass Sie mehrere flache Dateien einlesen und Joins auf ihnen durchführen möchten. Wenn es möglich ist, die flachen Dateien als SQLite-Datenbanken zu speichern, können Sie direkt mit beiden arbeiten von einem zum anderen Befestigung:

ATTACH foo.db AS foo 

auf die Tabellen in foo beziehen sich dann etwa so:

SELECT * FROM foo.users 

Diese So können Sie Ihre Joins erstellen, ohne eine In-Memory-Datenbank erstellen zu müssen.

5

Wenn Sie möchten, dass SQLite keine temporären Dateien als Journale verwendet, möchten Sie beispielsweise keine andere Dateiaktivität als manuell eine Verbindung anfordern, trennen, anhängen oder trennen. Verwenden Sie dann die folgenden zwei Pragmas zur Laufzeit, nachdem Sie eine Verbindung zu Ihrer Datenbank ": memory:" hergestellt haben.

PRAGMA temp_store=MEMORY; 
PRAGMA journal_mode=MEMORY; 

Vom docs.