Ilja: Effizienz-Vergleich MySQL-Eintrag vs. Datei-Eintrag

Beitrag lesen

yo,

Nein, genau eben nicht. Christian redet die ganze Zeit von sehr genau definierten Daten. Da kann man sehr wohl Zugriffsmethoden wählen die in jedem Fall die besten sind.

falsch, bei gleicher detanstruktur kann ein und derselbe algorithmus gut oder schlecht sein, je nachdem wieviele datensätze ich besitze und dann auch noch in abhängigkeit davon, welche daten drinne stehen. wenn das nicht klar ist, warum das so ist, lege ich es gerne da.

Nein, du hast die Voraussetzungen für Christians Ansatz nicht gelesen. Wie die Daten genau aussehen und welcher Algorithmus dafür optimal ist, steht fest weil es klar ist wie die Daten aussehen.

siehe oben. es stehn aber immer nur die strukturen fest, nicht aber wieviele datensätze ich besitze und welche daten. dass ist aber sehr wichtig für die optimierung.

Wiederum Voraussetzungsfrage. Daten können sehr wohl immer sortiert vorliegen wenn es die Applikation so vorgibt und es sich natürlich ergibt.

dann zeige mir doch mal, wie mehr als eine sortierungen nur mit hilfe einer datendatei physisch dargestellt werden. das geht nämlich nicht.

Nein, kommt sehr auf die Anwendungen drauf an. Logdaten zb brauche ich nur in der zeitlichen Auswertung, einen Index für ein Buch hingegen nur in der alphabetischen.

nein, die frage der sortierung beruht darauf, wie die daten abgerufen werden. und abfragen gibt es in der unterschiedlichsten form. deine eine will datensätze haben, die in einem zeitraum liegen und der andere will die daten nach einem bestimmten namen abfragen. dies würde zwei sortierungen benötigen, wenn nicht ein full scan durchgeführt werden soll.

Jein, DBMS müssen diese Algorithmen abstrakter implementieren als es einem Entwickler möglich wäre, der etwas nur für eine genau spezifizierte Datenmenge und Datenart braucht.

und das ist ein denkfehler, wie weiter oben beschrieben. selbst bei nur einer datenstruktur muss man auch allgemein programmieren, um den besten auszuführen, da man ja nicht bei der programmierung den inhalt und die anzahl der daten kennt.

Falsch, jede einzelne dieser Optimierungen kann man auch angepasst an die Daten implementieren. Ob das sinnvoll ist, kommt auf den Anwendungsbereich und die Daten an.

nein, hast du mehrere benutzer/programme, die auf die daten zugreifen, dann musst man die datenänderungen immer sofort festschreiben. ein dbms muss das nicht. das ist ganz unzweifelhaft ein vorteil, den man ohne dbms nicht kann.

doch genau das war meine aussage. dbms müssen änderungen nicht sofort auf platte schreiben, du musst das tun.

Doch, müssen sie, was glaubst du wo Transaktionslogs und solche Spässchen liegen?

nö, ein dmbs schreibt daten nicht sofort auf die platte, wenn eine tranksaktion abgeschlossen ist. dies geschieht zum beispiel erst be einem checkpoint.

Ilja