MYSQL - Blob, Datenbank optimieren

error_on

Mitglied
Hallo,

ich hab ein Script in dem Daten ausgelesen werden und in eine Datenbank gespeichert werden, in der Datei ist auch ein "Chat", welcher auch ausgelesen wird.

Jetzt sieht die Struktur meiner Datenbank folgendermaßen aus:
Code:
datei_inhalt (Tabelle)
chat_inhalt (Tabelle)

in der Tabelle chat_inhalt steht nun der Chat, d.h. folgende Spalten:
Code:
ID - dateiID - schreiber - zeit - nachricht
Jetzt habe ich die Befürchtung, das verzögert die Zeit des Scripts nur unnötig.
Beim Hinzufügen der Datei wird eine foreach Schleife durchlaufen in der jedesmal ein neues Insert-Query ausgeführt wird, solang bis es keine Nachricht mehr aus dem Chat auszulesen gibt. Beim Darstellen des Chats wird dann natürlich auch jedesmal ein neues SELECT-Query ausgeführt.

Ich hab jetzt bei etwas googlen bemerkt, dass man soetwas mit dem Typ Blob ändern kann, jedoch lese ich immer nur etwas von Bildern in Verbindung mit Blob.

Ist es denn nun besser für die Performance mit blobs zu arbeiten oder soll ich bei meinem alten System bleiben?
 
Hallo,

Ich bin mir nicht sicher, ob ich dich richtig verstehe.

Du hast doch einen Eintrag pro Nachricht in der Chat Tabelle? Wenn du dann noch ein Kennzeichen hast, das alle Nachrichten zu einem Chat gemeinsam haben, kannst du mit diesem Kennzeichen alle Nachricht zu diesem Chat auf einmal Abfragen. Zusätzlich bietet sich noch die ORDER BY-Klausel an, damit du die Nachricht gleich in der Reihenfolge erhältst, in der du sie anzeigen willst.

Z.B.:

Code:
SELECT *
   FROM chat_inhalt
 WHERE dateiID = ?
 ORDER BY zeit

Falls das nicht schnell genug ist, solltest du dir mal die Indizes ansehen (bzw. mit konkreter SQL-Abfrage noch mal Fragen).

Ein BLOB ist ein Binary-Large-Object. Damit kann man "unstrukturierte" Binärdaten (typisch: Bilder, wie du selbst herausgefunden hast) in eine SQL-Datenbank abspeichern.

Für das INSERT würde ich mir anfangs nicht zuviel Sorgen machen. Falls das zum Problem wird, könnte man auch mehrere INSERTs auf einmal machen. Das ist aber eher mühsam, daher würde ich mir darüber erst Sorgen machen, wenn es wirklich zum Problem wird.
 
Zurück