Beitrag von Christoph Bergmann (8110 Beiträge) am Freitag, 28.September.2001, 19:39.
Re: db mit 211.000 Einträge weg - die Grenzen vom kostenlosen...
Ja, das sind so die Grenzen beim kostenlosen Angebot: Hier sind ein paar Tausend Leute mit Ihren DBs+Templates zugange und die wollen alle bedient werden und zwar schnell ;-) Um das (so gut wie möglich) zu gewährleisten gibt es den berüchtigten "Skript-Stopper" - das ist nichts anderes als eine Begrenzung die ein Programm beendet, wenn es mehr als X Speicher (hier sind 30 MB eingestellt - das hat nichts mit der DB-Grösse zu tun!!) verbraucht oder länger als Y Sekunden Laufzeit (hier sinds 180 Sekunden - eine Menge) hat. An diesem Stopper führt kein Weg vorbei, der Server wäre innerhalb kürzester Zeit völlig dicht, wg. Endlosschleifen oder Skripten die den Speicher vollknallen...
Wenn Du ein Feld löschst, änderst Du damit die grundlegende Struktur der gesamten Datenbank - diese muss komplett durchlaufen und neu aufgebaut werden (Das geht nicht anders - bei anderen DB-Systemen kann man sowas nachträglich garnicht machen, da muss man vorher genau drüber nachdenken, welche Felder man braucht... nur so ;-) ). Kein Wunder, dass hier der Skriptstopper zuschlägt. Der ist übrigens nicht besonders freundlich: Der killt das Programm, egal wo es sich gerade befindet, mitten in einem Neuaufbau der DB ist das natürlich schlecht ;-) Und Du bekommst die Meldung "Seite kann nicht angezeigt werden" (weil garnix ausgegeben wird).
Ob Du bei einem Provider sowas machen darfst, ist die Frage, denn auch der muss natürlich schauen, dass seine Server für alle seine Kunden zur Verfügung stehen, nicht nur für einen (Puretec z.B. erlaubt eine max. Skript-Laufzeit von 6 (!) Sekunden - das reicht nie um 5 Mio. Datensätze durchzuwurschteln) - bei 5 Mio. Datensätzen ist also wahrscheinlich auch die Grenze von "Webspace" erreicht - hier kann man schon über einen eigenen Server nachdenken (auf dem kannst Du dann machen was Du willst ;-) ).
Zufälligerweise sitze ich grade an beiden "Problemen": Dass wenigstens noch eine Meldung kommt ("Guten Tag, das Skript wurde beendet, weil es zuviel Ressourcen beansprucht hat. Tschüss...") und, dass die DB im _vorigen_ Zustand dann noch gerettet wird. Aber mal so nebenbei ein Feld rauslöschen, das wird schwierig. Kurz ne Überschlagsrechnung: Angenommen es werden 100 Datensätze / Sekunde bearbeitet, das wären bei 200.000 Datensätzen ne runde halbe Stunde...
Du kannst mit solchen grossen DBs schon normal arbeiten (_Datensätze_ abrufen, einfügen, ändern, löschen), aber an die Felddefinition solltest Du nicht mehr ran (also wie bei anderen DBs vorher drüber klarwerden ;-) ).
Noch ne Frage: Wo kamen denn die Riesen-DBs her?