Versiffen einer Datenbank?

  • Hi!
    Ich habe da eine bzw. 2 Fragen. Ich habe einen Freund der sich sehr gut mit PHP/MySQL auskennt, und der hat mir gesagt, wenn man eine MySQL DB nicht regelmäßig händisch wartet, dann versifft sie und man kann sie vergessen.
    1.) Wieso ist das bitte so?
    2.) Ist das auch bei einer Forum Datenbank so die von einer Software verwaltet wird? (SMF)

    Lg.

    There's no better place than 127.0.0.1!

  • Ich denke dein Freund meint das Phänomen ähnlich der Fragmentierung einer Festplatte. Durch Schreiben und Löschen von Dateien entstehen "Lücken" (freie Blöcke) welche nicht (gut) genutzt werden können. Mit einer Defragmentierung bringt man mehr oder weniger wieder Ordnung ins System.

    mfG Fup

  • Zitat von Swoncen

    Ich versteh nicht was du mit versifft meinst...



    auf den bits sammelt sich staub an. ganze bytes werden von schmutz geradezu erdrückt, auf den kbytes mehren sich die schimmelflecken, manche mbytes sind schon von spinnennetzen umgeben.

  • Zitat von mdk

    auf den bits sammelt sich staub an. ganze bytes werden von schmutz geradezu erdrückt, auf den kbytes mehren sich die schimmelflecken, manche mbytes sind schon von spinnennetzen umgeben.



    :omg: Ich muss schnell ein Putzfrau/mann - Programm schreiben...

    640K ought to be enough for anybody. :eek2:

  • Zitat von Swoncen

    Ich versteh nicht was du mit versifft meinst...



    Das sie nicht mehr korrekt funktioniert! Das man mit der Webseite nichts mehr anfangen kann weil nur eine PHP - Fehlermeldung dortsteht...

    There's no better place than 127.0.0.1!

  • fragmentierung sollte aber keine fehlermeldung liefern.

    Otto: Apes don't read philosophy. - Wanda: Yes they do, Otto, they just don't understand
    Beleidigungen sind Argumente jener, die über keine Argumente verfügen.
    «Signanz braucht keine Worte.» | «Signanz gibts nur im Traum.» 

    Das neue MTB-Projekt (PO, Wiki, Mitschriften, Ausarbeitungen, Folien, ...) ist online
    http://mtb-projekt.at

  • Ich glaube, ich sollte noch einmal versuchen es zu erklären:

    Also mein Freund hat gesagt dass, wenn er in regelmäßigen Abständen die Datenbank nicht wartet, sie kaputt geht, man nichts mehr mit ihr verwenden kann!
    Ich verstehe eben nicht warum, vielleicht hat er ja nur Blödsinn geredet um sich wichtig zu machen :ausheck:
    Das versuche ich hier herauszufinden :verycool:

    There's no better place than 127.0.0.1!

  • Kommt es nicht dann zu einer Fehlermeldung, wenn es aus irgendeinem Grund nicht möglich ist, in die Datenbank zu schreiben?

    Weiß nicht wie es in PHP ist, aber in JSP kann es auf jeden Fall zu einer kommen, weil eine Exception geworfen wird.

    Aber bei größeren Projekten wird afaik sowieso nicht allzuviel gelöscht, sondern alles mittels Flag's geregelt.

    Da Big Pimp

  • eine datenbank wird durch mangelnde pflege nicht kaputt

    das einzige, was ich mir vorstellen kann, ist, dass der speicherplatz für die datenbank bei einem webspace-provider begrenzt ist; es wird fortlaufend in die datenbank geschrieben und daraus gelöscht, der durch das löschen von daten frei werdende speicherplatz wird allerdings nicht für die speicherung neuer daten verwendet (oben bereits angesprochene fragmentierung). irgendwann erreicht die datenbank die maximalgröße, es können keine daten mehr darin gespeichert werden => fehlermeldung

  • Ich bin nicht unbedngt ein pro auf dem gebiet datenbanken, aber wie paulchen schon gesagt hat eine DB wird nicht kaputt, wenn man sie nicht regelmäßig streichelt ;) (jedenfalls hab ich das noch nicht erlebt).

    Kurz gegoogelt zu deiner frage und tada das Ergebnis!

    Das einzige was passieren kann: Performanceverlust, unnötiges anwachsen der des index.

    Lustige Problemlösung: dump- ,dropen-, und wiedereinspielen der table wo der index gesetzt ist.

    Was auf keinen Fall passiert ist dass die Middleware (also dein php skript) was davon mitkriegt. Ausser wie von paulchen schon beschrieben dass dir z.B.: bei deinem Provider der DB-Space ausgeht, dann kannst zwar nimmer drauf schreiben aber immer noch lesen.

    "Versiffen" kannst deine DB auch noch indem du ein schlechtes Design der DB hast (schlecht definierte oder gar keine constraints). Aber da is man selber schuld (oder der der das normal immer macht aber gerade nicht da ist ;)).

    Die händische Wartung deines Freundes würd mich interessieren, vielleicht kannst ihn ja fragen was er da macht ...

    Hope it helped.

  • Zitat von max_rayman

    Lustige Problemlösung: dump- ,dropen-, und wiedereinspielen der table wo der index gesetzt ist.

    reicht nicht das?

    Code
    OPTIMIZE TABLE tabelle;
  • Vielleicht meint er, dass bei starken Performanceeinbußen die Skriptlaufzeit der php Skripts nimmer ausreicht. Drum brauchen Foren ja Suchtabellen, à la "Post2ID" und "ID2Wort". Dann sucht man in ID2Wort nach dem Suchbegriff, und fragt alle Postings ab, die diese ID in Post2ID haben. so ca. halt.
    Man muss aber schon einige aufführen, damit die Skriptlaufzeit nimmer reicht.

    In einen FBO rendern ist wie eine Schachtel Pralinen - man weiß nie, was man kriegt.

  • kann mich nur meinen vorrednern anschließen: dein freund redet schrott...

    also vergiss ihn und schick mir deine telnr per pm :D

    Patient: "Doctor, doctor, my eye hurts when I poke it with a spoon."
    Doctor: "Don't poke it, then."

  • Zitat von MrMassaker

    kann mich nur meinen vorrednern anschließen: dein freund redet schrott...

    also vergiss ihn und schick mir deine telnr per pm :D



    Ist das ein Annäherungsversuch?

    640K ought to be enough for anybody. :eek2:

  • Zitat von Swoncen

    Ist das ein Annäherungsversuch?

    ich könnte jetzt genauso fragen: ist das eine suggestivfrage?

  • Zitat von Swoncen

    Ich hab erst jetzt bemerkt, dass der Threadstarter vermutlich weiblich ist, was die Sache klarer aussehn lässt.

    Den Annäherungsversuch oder die Frage?!?

    There's no better place than 127.0.0.1!

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!