AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

SQLite 3 Out of Memory

Ein Thema von Monday · begonnen am 19. Mai 2020 · letzter Beitrag vom 21. Mai 2020
 
Monday

Registriert seit: 24. Aug 2012
103 Beiträge
 
FreePascal / Lazarus
 
#8

AW: SQLite 3 Out of Memory

  Alt 21. Mai 2020, 11:09
Hallo

Ich habe jetzt etwas herumgetüfftelt.

Zuerst hatte ich das Windows Temp Verzeichnis geändert. Das war wirkungslos.

Danach habe ich PRAGMA temp_store_directory = 'D:\...'; gesetzt. Auch das blieb wirkungslos.
Ich hatte allerdings dazu einen SQL Editor (SQLStudio) verwendet und auch über die Anwendung versucht. Bei beiden hat er trotzdem vacuum auf Laufwerk C angewendet.

Erst nachdem ich über die SQL Shell gegangen bin hat er das Verzeichnis angenommen!
Dann lief auch Vacuum schön und in aller Kürze durch. Die DB war nach vacuum um 90 % kleiner!
Sollte mal der Festplattenspeicher nicht ausreichen, ist es also denkbar einen USB Stick oder externe Festplatte dran zu hängen und dann über den Festplattenspeicher zu bewerkstelligen. Habe gesehen, man kann auch einstellen dass es rein über den Arbeitsspeicher geht. Wenn die SQL Datei klein genug ist, wäre es sogar denkbar es komplett über den Arbeitsspeicher zu machen. Man muss daran denken, dass er aber immer die komplette Datei laden will.


Da ich schon fast die Hoffnung aufgegeben hatte, wollte ich eine neue DB erstellen. Und die Daten mittels export/import neu erstellen. Mit dem SQLStudio und SQL Administrator lief der export/import schleppend langsam. Mit der SQL Shell lief es rasent schnell durch.
Spontan würde ich sagen, wenn man große DB über 100 MB hat, ist es wohl am schnellsten wenn man immer über die Shell arbeitet.

Eine SQlite Shell GUI wäre noch nice.

Indizes erstellt er offenbar immer über Laufwerk C. Allein über die Shell wenn ich mit PRAGMA temp_store_directory = 'D:\...'; nimmt er das Laufwerk an. Ich hatte gehofft, einmal temp_store_directory zu setzen und dann ist es standartmäßig. Aber das muss ich wohl immer setzen, wenn ich es brauche.


Ich hatte auch in der Doku nachgesehen wo die Grenzen und Limits liegen; Weil ich dachte das es hier limits gibt. Ich habe gesehen SQL kann durchaus mit 3-4 stelligen Terabyte umgehen.

LG
Monday
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:52 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz