bu1137 schrieb:
Kommt wohl auf die Datenbank an. MySQL würde in dem Fall soweit mir ist nichts tun, also, kein Schreibzugriff.
korrekt
Belee schrieb:
Nochwas, ist der Primary Key hier in dem Fall eigentlich pflicht?
Nein, eine gute Datenbank wird im Hintergrund sowieso unsichtbar für dich dann einen Primary Key anlegen, um die Tabelle zu verwalten.
Du solltest dir aber mal die Normalformen ansehen, wenn du keine Primärschlüssel definierst, dann wird diese Tabelle wie schon angemerkt auch sicherlich nicht im Zwecke einer Datenbank genutzt werden.
Belee schrieb:
Naja, egal wie man es macht ist es falsch. Mache ich es über Flatfiles dann bekommt man gesagt, warum keine Datenbank, macht man es über Datenbank, dann heisst es ...wzb. jetzt... ist nicht wirklich normal
Da du einfach nur irgendwie Daten ohne jede Struktur abspeichern willst, darfst du gerne Flatfiles nutzen.
Belee schrieb:
Was also gibt es noch für Alternativen für so eine Sache? ich weiß keine.
NoSQL-Datenbanken mit Hashtables, also einfach Key-Value-Datenbanken.
Das wäre auch die sinnvollste Änderung deiner Tabelle. Ändere die 5 Spalten einer Tabelle in eine Tabelle mit 2 Spalten: Key -> Value
Belee schrieb:
Doch über Flatfiles? doch da gibt es dann das Problem, wenn ein User in dem Augeblick wo ein Schreibzugriff stattfindet die Datei lesen will, erstmal ne Pause angesagt ist bis die Datei wieder frei wird.
Auf Files darfst du auch shared Locks nutzen, also viele Personen dürfen gleichzeitig lesen, aber es darf nicht gleichzeitig ein Lese- und Schreibzugriff erfolgen.
Belee schrieb:
Und das ist sicher? weil ich lese die Werte auch aus.
Nein, Memory-Tabellen sind nach einem Absturz des MySQL-Servers bzw. nach einem Neustart leer, es wird nur die Definition der Tabellen persistent gespeichert. Ein Blick in das Manual hätte dies dir aber auch offenbart.
Belee schrieb:
Wieviel RAM wird denn hier jetzt für diese kleine Tabelle reserviert? in MySQL-Admin steht ja nichts darüber. Dann, Ram Speicher kann und wird wohl schnell fragmentieren da ja in dieser Tabelle nonstop Daten geupdatet werden. Nun stell ich mir erneut die Frage, habe ich mit MEMORY überhaupt was gut gemacht? denn, je frangmentierter der RAM desto langsamer wird das ganze doch auch, oder?
gefährliches Halbwissen, eigentlich war keine Aussage korrekt.
Memory-Tabellen arbeiten in-place, ein Datensatz behält also immer die gleiche Position, updatest du ihn wird nur der Inhalt überschrieben. Selbst wenn es Fragmentierung gäbe, ist ein Zugriff im Ram immernoch um eine Zehnerpotenz schneller als ein HDD-Zugriff.
Wieviel Ram du benötigst? Soviel um die Daten zu speichern plus einige Verwaltungsinfos.