SQL Anzahl der Datensätze begrenzen?

Seite 1 von 3 - Forum: Coding Stuff auf overclockers.at

URL: https://www.overclockers.at/coding-stuff/sql_anzahl_der_datensaetze_begrenzen_212344/page_1 - zur Vollversion wechseln!


Timmää schrieb am 02.12.2009 um 19:17

hallo leute

ich hab halbwegs wenig ahnung von sql, und hätte da eine Frage an euch:

und zwar möchte ich die Anzahl der Datensätze einer Tabelle begrenzen.
also wenn ich eine Gewisse Anzahl an Einträgen erreicht ist soll er den Ältesten überschreiben.

gibts da einen komfortablen Weg über Phpmyadmin oder is gscheiter wenn ich das direkt im php code implementier.

tia, timmää


prayerslayer schrieb am 02.12.2009 um 19:22

darf ich fragen, warum du das willst?

//und um welche DB gehts überhaupt? mysql?

///weiters: warum nicht in der applikation lösen? steht eh zur debatte.


Nico schrieb am 02.12.2009 um 19:22

was versprichst du dir davon, nur mal am rande gefragt?


Timmää schrieb am 02.12.2009 um 19:26

es kommen alle paar minuten Einträge hinzu und ich brauch immer nur ca. die letzten 100 zur weiteren Aufbereitung mittels php

jep geht um mysql


prayerslayer schrieb am 02.12.2009 um 19:27

naja, dann hol einfach mit php nur die letzten 100 raus? oder überseh ich was?


Timmää schrieb am 02.12.2009 um 19:28

hab ich auch schon überlegt nur wird das ding nach einiger Zeit riesig, was ich damit eigentlich vermeiden wollte


prayerslayer schrieb am 02.12.2009 um 19:29

mein workaround wäre jetzt ein DELETE nach jedem SELECT :D aber ich bin noch am suchen.


Nico schrieb am 02.12.2009 um 19:29

kannst ja hin und wieder reinigen..


ica schrieb am 02.12.2009 um 19:37

warum auch immer du das machen willst - es sollte mit einem trigger möglich sein.


Vo schrieb am 02.12.2009 um 19:38

Vielleicht sollten solche Wegwerf-Datensätze gar nicht in eine Datenbank.


Timmää schrieb am 02.12.2009 um 19:40

ok ... hört sich gut an ..
*hust* .. habe jetzt mal nachgerechnet ... wird sich warscheinlich eh ewig ausgehen ^^"

t'schuldigung ... aber müsste das eine Datenbank nicht können?
aber egal .. thx für die schnelle Hilfe!

timmää


kleinerChemiker schrieb am 02.12.2009 um 21:38

warum sollte eine DB so was wie Log-Rotation für Daten können? Normalerweise will man Daten "ewig" speichern und falls nicht, kann man sie ja löschen.


COLOSSUS schrieb am 02.12.2009 um 21:49

Du willst einen Ringbuffer. Eine relationale Datenbank ist kein Ringbuffer - was aber nicht heiszt, dass man sie nicht zur Implementierung eines solchen missbrauchen kann.

http://en.wikipedia.org/wiki/Rrdtool koennte vielleicht interessant fuer dich sein.


watchout schrieb am 03.12.2009 um 11:55

Zitat von Timmää
ok ... hört sich gut an ..
*hust* .. habe jetzt mal nachgerechnet ... wird sich warscheinlich eh ewig ausgehen ^^"

t'schuldigung ... aber müsste das eine Datenbank nicht können?
aber egal .. thx für die schnelle Hilfe!

timmää
Ein DBMS könnte sowas können, muss aber nicht sein. Vielleicht gibt es welche die solche Features haben, bei MySQL bin ich mir aber ziemlich sicher dass das nicht der Fall ist. Normalerweise sind solche Systeme halt eher für das Permanente Speichern von Daten vorgesehen.

Temporäre Daten hält man daher normalerweise im System im Speicher, in Tempfiles, oder wenn ein Server nicht ausreicht auf SHM Server(n).

Ich schätze es ist möglich für MySQL eine Storage Engine zu schreiben die genau das kann - aber ob der Aufwand lohnt ist halt die Frage ;)


rettich schrieb am 03.12.2009 um 14:05

Zitat von kleinerChemiker
warum sollte eine DB so was wie Log-Rotation für Daten können? Normalerweise will man Daten "ewig" speichern und falls nicht, kann man sie ja löschen.

geht, zB in oracle über named partitions. geht meines wissens nach erst ab oracle 11g




overclockers.at v4.thecommunity
© all rights reserved by overclockers.at 2000-2026