CronJob-Service
bei SELFPHP mit ...
|
+ minütlichen Aufrufen
+ eigenem Crontab Eintrag
+ unbegrenzten CronJobs
+ Statistiken
+ Beispielaufrufen
+ Control-Bereich
Führen Sie mit den CronJobs von
SELFPHP zeitgesteuert Programme
auf Ihrem Server
aus. Weitere Infos
|
:: Anbieterverzeichnis ::
Globale Branchen
Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP
:: Newsletter ::
Abonnieren Sie hier den kostenlosen
SELFPHP Newsletter!
|
PHP für Fortgeschrittene und Experten Fortgeschrittene und Experten können hier über ihre Probleme und Bedenken talken |
12.11.2005, 11:18:22
|
SELFPHP Guru
|
|
Registriert seit: Jan 2004
Ort: Leipzig
Beiträge: 4.549
|
|
AW: Datenbankeinträge löschen nach 500 Zeilen
zum thema optimierung gibts ne lustige geschichte: unser "algorithmen und datenstrukturen"-prof sagt: der computer kann schneller addieren als multiplizieren, also vermeidet bitte multiplikation. der numerik-prof sagt dagegen: es gibt beim rechnen im pc immer rundungsfehler, jedoch sind die rundungsfehler beim addieren stärker als beim multiplizieren (warum auch immer). wenn ich also nen code-stück optimiere (egal auf welchen prof ich höre), optimiere ich es eigentlich gar nicht *g*
|
15.11.2005, 22:34:29
|
Junior Member
|
|
Registriert seit: Feb 2005
Beiträge: 181
|
|
AW: Datenbankeinträge löschen nach 500 Zeilen
Schon witzig. Ich wollte auch keine Grundsatzdiskussion lostreten, aber es handelt sich schon um eine etwas größere Datenmenge als 100.000 Einträge.
Durch das Löschen nach 500 zeilen bleiben immer noch so 600.000 Einträge bestehen. Es würden dadurch so ca 50.000.000 Einträge gelöscht werden, und das beeinträchtigt schon so eine kleine datenbank.
Aber wenn es nicht geht, dann muss ich das irgendwie anders lösen
|
16.11.2005, 07:55:44
|
Anfänger
|
|
Registriert seit: Nov 2005
Ort: Friedrichsdorf
Alter: 45
Beiträge: 31
|
|
AW: Datenbankeinträge löschen nach 500 Zeilen
öhm, Moment mal, nur zum Verständnis:
Wenn ich in einer DB ab der 501ten Zeile bis zum Ende lösche, dan bleiben bei mir exakt 500 Datensätze übrig.
Wenn du aus der DB alle Einträge löschen willst, bei denen ein Wert in einer Spalte größer als 500 ist, dann geht das so:
PHP-Code:
$sql = "DELETE FROM tabelle WHERE spalte >= 500";
$rst = "MYSQL_QUERY($sql)";
|
16.11.2005, 09:09:37
|
SELFPHP Guru
|
|
Registriert seit: Jan 2004
Ort: Leipzig
Beiträge: 4.549
|
|
AW: Datenbankeinträge löschen nach 500 Zeilen
dann müsste der wert der spalte aber durchgehend aufsteigend nummeriert sein.
ich weiß nicht, ob DELETE FROM mit LIMIT zusammen arbeitet. falls ja, dann sortiere so, dass die, die oben stehen nicht gelöscht werden sollen und sag
DELETE FROM table ORDER BY field LIMIT 500,18446744073709551615
edit:
habe nachgeschaut, es delete + limit geht.
Geändert von feuervogel (16.11.2005 um 09:13:17 Uhr)
|
16.11.2005, 16:59:00
|
|
Administrator
|
|
Registriert seit: Apr 2002
Ort: Bergheim
Alter: 41
Beiträge: 5.255
|
|
AW: Datenbankeinträge löschen nach 500 Zeilen
Zitat:
Zitat von StefanL
...dann geht das so:
PHP-Code:
$sql = "DELETE FROM tabelle WHERE spalte >= 500";
$rst = "MYSQL_QUERY($sql)";
|
Was ist denn das?
--> $rst = "MYSQL_QUERY($sql)";
__________________
Gruß |Coding
---
Qozido® - Die Bilderverwaltung mit Logbuch für Taucher und Schnorchler.
www.qozido.de
|
16.11.2005, 17:16:21
|
Junior Member
|
|
Registriert seit: Feb 2005
Beiträge: 181
|
|
AW: Datenbankeinträge löschen nach 500 Zeilen
Ich habe es mal so gemacht, es scheint auch zu funktionieren, aber ich weiss nicht ob es auch Ok ist.
PHP-Code:
$abfrage = "SELECT COUNT(timestamp) AS ct FROM tabelle";
$ergebnis = mysql_query($abfrage);
while($row = mysql_fetch_object($ergebnis))
{
$ct = $row->ct;
}
$ct2 = $ct-500;
$loeschen = "DELETE FROM tebelle ORDER BY timestamp ASC LIMIT $ct2";
$loesch = mysql_query($loeschen);
|
16.11.2005, 17:20:00
|
|
Administrator
|
|
Registriert seit: Apr 2002
Ort: Bergheim
Alter: 41
Beiträge: 5.255
|
|
AW: Datenbankeinträge löschen nach 500 Zeilen
OK ist das nicht!
__________________
Gruß |Coding
---
Qozido® - Die Bilderverwaltung mit Logbuch für Taucher und Schnorchler.
www.qozido.de
|
16.11.2005, 19:29:43
|
Anfänger
|
|
Registriert seit: Nov 2005
Ort: Friedrichsdorf
Alter: 45
Beiträge: 31
|
|
AW: Datenbankeinträge löschen nach 500 Zeilen
Zitat:
Zitat von |Coding
Was ist denn das?
--> $rst = "MYSQL_QUERY($sql)";
|
häh, schubs mich mal vom Schlauch, ich versteh gerade nicht, was du meinst. Oder hast du nur gefragt weil ich das groß geschrieben habe?
Dann jedenfalls wäre die Frage nicht schlecht, ich weiß nicht, warum ich das groß geschrieben habe...
*ein moment geistiger umnachtung ist die erklärung allen menschlichen versagens ;-)
|
16.11.2005, 19:58:21
|
SELFPHP Guru
|
|
Registriert seit: Jan 2004
Ort: Leipzig
Beiträge: 4.549
|
|
AW: Datenbankeinträge löschen nach 500 Zeilen
es sollte heißen
$rst = MYSQL_QUERY( $sql );
und nicht
$rst = "MYSQL_QUERY( $sql )";
|
16.11.2005, 20:47:58
|
Junior Member
|
|
Registriert seit: Feb 2005
Beiträge: 181
|
|
AW: Datenbankeinträge löschen nach 500 Zeilen
Und warum nicht?
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
Forumregeln
|
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.
HTML-Code ist aus.
|
|
|
Alle Zeitangaben in WEZ +2. Es ist jetzt 02:02:43 Uhr.
|