Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Zeitverhalten von MySQL mit MEDIUMBLOB Feldern (https://www.delphipraxis.net/91818-zeitverhalten-von-mysql-mit-mediumblob-feldern.html)

Mavarik 10. Mai 2007 12:59

Datenbank: mySQL • Version: 5.x • Zugriff über: SciBit Komponenten Direkt

Zeitverhalten von MySQL mit MEDIUMBLOB Feldern
 
Hallo Zusammen!

Ich habe eine Datenbank (Tabelle) entwickelt die JPG's und andere Dokumente speichern soll...

Delphi-Quellcode:
SQLCommand := 'CREATE TABLE IF NOT EXISTS myTable (id INTEGER AUTO_INCREMENT PRIMARY KEY,'+
              'INDEX idxKundenID (KundenID),'+
              'ScanDate DATETIME','+
              'KundenID INTEGER,'+
              'Bezeichnung VarChar(60),'+
// Noch einiges...
              'Daten MEDIUMBLOB)';
In das Daten (MediumBlob) Feld werden Daten gespeichert von 100-300kb.

Gesucht werden soll nach den KundenID.

Entweder mit DataSet.Filter := 'KundenID = 2';

oder ich habe es auch mit SQL versucht: "SELECT Bezeichnung from myTabele where KundenID=3;

Beide Varianten sind extrem langsam. Die Datenbank hat zur Zeit lediglich 185 Datensetzt und es dauert mehrere sekunden,
ein Grid mit den Bezeichnungen zu füllen... Auch direkt auf dem Server mit den MySQL Query Browser dauert es fast 2 sekunden.

Alles andere ist SUPER schnell....Beispiel: Gleiche Anzahl eines großen Adresse Record's mit Select * dauert 0.012 Sekunden...
Ich habe bisher noch nicht mit 2. Key gearbeitet...

Wo liegt der Fehler?

Grüsse Frank

mkinzler 10. Mai 2007 15:51

Re: Zeitverhalten von MySQL mit MEDIUMBLOB Feldern
 
Ich kenne mich mit MySQL nicht so aus. Ich vermute mal die Blobfelder sind in der tabelle gespeichert. trenne man das Blobfeld von der Tabelle.

Mavarik 10. Mai 2007 15:56

Re: Zeitverhalten von MySQL mit MEDIUMBLOB Feldern
 
Zitat:

Zitat von mkinzler
Ich kenne mich mit MySQL nicht so aus. Ich vermute mal die Blobfelder sind in der tabelle gespeichert. trenne man das Blobfeld von der Tabelle.

Schade... Ja die Idee hatte ich auch schon, wollte mir aber die 2. Tabelle sparen...

Frank :coder:


Alle Zeitangaben in WEZ +1. Es ist jetzt 18:03 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz