Einzelnen Beitrag anzeigen

Benutzerbild von IBExpert
IBExpert

Registriert seit: 15. Mär 2005
533 Beiträge
 
FreePascal / Lazarus
 
#7

AW: Bilder in (Firebird-)Datenbank speichern

  Alt 22. Okt 2020, 18:31
Die Ansicht mal eben nach Datum sortieren, wenn es nur ein Pfad ist, sollte im Explorer im Filesystem kein them sein, selbst nicht mit der im Explorer vorhandenen Preview Ansicht.
Aber mach das einfach mal testweise mit wahlweise einer Millionen bilder in einem pfad oder auch in Unterpfaden, die geschwindigkeit vom filesystem gerade auf windows wird bei großen Datenmengen (im sinne von anzahl dateien) recht gemütlich, um das mal freundlich zu sagen.

Und von einem Zugriff auf die gleiche Ordnerstruktur über ein Netzwerk rede ich dabei noch gar nicht.

Es hindert dich ja auch keiner daran, in einem Filecache auf der Platte die native files abzulegen, das mach ich bei jeder zu öffnenden pdf Datei auch so, weil ich keine Lust hab, mit irgendwelchen Memory Streams halb funktionierende Komponenten und DLLs zu füttern, weil ich dafür ja sumatra als eigene exe einbinde, TImages aber direkt aus dem blob in die eigene Applikation zu ziehen und dort dann dazustellen, ist für png und jpg auch kein wirkliches Problem, aber erzeuge mal testweise auf einer Scrollbox zB 2000 TImages deiner Wahl und lade in alle ein anderes Bild aus dem Filesystem oder aus dem Datenbankblob. Bei png weiss ich ganz sicher, das das schnell mal 10-20 Sekunden dauert auch wenn nur ein Bruchteil davon sichtbar ist oder kleiner skaliert wird. Die Zeit verbrät aber nicht die lese/schreibe Operation sondern das decoding der Bilder. Da gibt es schnellere und langsamere TImage Varianten, aber zaubern können die alle nicht. Wenn du aber zB auf deinem Screen 10 Bilder nebeneinander darstellst und 5 Untereinander und eine unabhängige Scrollbar daneben baust, mit der man navigieren kann, wird das um längen schneller und dafür dann Bild 9950-10000 zu holen geht per sql befehl mit select first 50 skip 9950 * from ... und es fallen viele Overhead Operationen komplett weg, viele Webseiten arbeien übrigens ähnlich und auch da wird nix geholt was nicht explizit dargestellt werden soll.

Bei großen Datenmengen im Sinne von Anzahl Dateien und Bildern im Filesystem zu bleiben halte ich für eine Sackgasse, unter der gerade deinen Anwender mit großen Datenmenge leider werden, ich würde das niemals so machen.
Holger Klemt
www.ibexpert.com - IBExpert GmbH
Oldenburger Str 233 - 26203 Wardenburg - Germany
IBExpert and Firebird Power Workshops jederzeit auch als Firmenschulung
  Mit Zitat antworten Zitat