"We are back" « oc.at

SQL Anzahl der Datensätze begrenzen?

Timmää 02.12.2009 - 19:17 9277 37
Posts

Timmää

Big d00d
Avatar
Registered: Nov 2007
Location: linz
Posts: 222
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

Oar. Mh.
Avatar
Registered: Sep 2004
Location: vorm Sucher
Posts: 4073
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.
Bearbeitet von prayerslayer am 02.12.2009, 19:26

Nico

former person of interest
Registered: Sep 2006
Location: -
Posts: 4082
was versprichst du dir davon, nur mal am rande gefragt?

Timmää

Big d00d
Avatar
Registered: Nov 2007
Location: linz
Posts: 222
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

Oar. Mh.
Avatar
Registered: Sep 2004
Location: vorm Sucher
Posts: 4073
naja, dann hol einfach mit php nur die letzten 100 raus? oder überseh ich was?

Timmää

Big d00d
Avatar
Registered: Nov 2007
Location: linz
Posts: 222
hab ich auch schon überlegt nur wird das ding nach einiger Zeit riesig, was ich damit eigentlich vermeiden wollte

prayerslayer

Oar. Mh.
Avatar
Registered: Sep 2004
Location: vorm Sucher
Posts: 4073
mein workaround wäre jetzt ein DELETE nach jedem SELECT :D aber ich bin noch am suchen.

Nico

former person of interest
Registered: Sep 2006
Location: -
Posts: 4082
kannst ja hin und wieder reinigen..

ica

hmm
Avatar
Registered: Jul 2002
Location: Graz
Posts: 9822
warum auch immer du das machen willst - es sollte mit einem trigger möglich sein.

Vo

Legend
Editor from hell
Avatar
Registered: Jan 2007
Location: Brunn
Posts: 1014
Vielleicht sollten solche Wegwerf-Datensätze gar nicht in eine Datenbank.

Timmää

Big d00d
Avatar
Registered: Nov 2007
Location: linz
Posts: 222
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

Here to stay
Avatar
Registered: Feb 2002
Location: Wien
Posts: 4295
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

Administrator
GNUltra
Avatar
Registered: Dec 2000
Location: ~
Posts: 12119
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

Legend
undead
Avatar
Registered: Nov 2000
Location: Off the grid.
Posts: 6845
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

Legend
waffle, waffle!
Avatar
Registered: Jan 2004
Location: wien
Posts: 794
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
Kontakt | Unser Forum | Über overclockers.at | Impressum | Datenschutz