Ankündigung

Einklappen
Keine Ankündigung bisher.

Ist das Leeren von Feldern sinnvoll?

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Ist das Leeren von Feldern sinnvoll?

    Hallo zusammen

    Ich hab eine grosse (ca. 100'000 Datensätze) MyISAM-Tabelle.

    Bei älteren Datensätzen sind gewisse Informationen nicht mehr nötig; es wäre also möglich, diese Felder zu leeren oder auf Null zu setzen. Konkret könnte man so bei ca. 90 % der Datensätze 15 von 24 Felder leeren.

    Wird dadurch weniger Festplattenspeicher benötigt? Und wäre das auch performance-mässig sinnvoll?

    Liebe Grüsse,
    Janosh

  • #2
    Je nach dem wie deine Queries aussehen könnte sich die Performance erhöhen.
    Weniger Festplattenverbauch ist klar, nur wie viel das letztendlich ist...
    Diese Erweiterung ist EXPERIMENTELL.
    [...]
    Seien Sie gewarnt und verwenden Sie diese Erweiterung auf eigenes Risiko..

    Kommentar


    • #3
      Weiß es zwar nicht, aber ich denke mir wenn du immer nur die Datensätze abrufst die du auch benötigst, wird sich da nicht viel ändern.

      aber wie gesagt.. reine theorie *g*
      http://forum.developers-guide.net

      Klick dich REICH:
      http://www.klick-reich.de/index2.php...lden&ref=Niedi

      Kommentar


      • #4
        Die meisten Feldtypen sind varchar(100). Vielleicht hat das noch Einfluss?
        Ausserdem ist keines der betroffenen Felder indexiert.

        Kann man behaupten: Kleinere Dateigrösse = bessere Performance?

        Gruss,
        Janosh

        Kommentar


        • #5
          Behaupten kannst Du erstmal alles
          Bei allen Optimierungen und sonstigen Tricks der Datenbank und dem zugrundeliegenden Dateisystem wird ein riesiger Datenhaufen wohl doch ein wenig länger zum Bearbeiten brauchen als ein kleinerer.
          Varchars nehmen tatsächlich abhängig vom Inhalt unterschiedlich viel Platz ein.
          Wenn Du sie auf "" setzt, wird der Platz aber nicht sofort freigegeben.
          Dazu muss die Tabelle reorganisiert werden und das muss explizit aufgerufen werden.
          http://dev.mysql.com/doc/mysql/en/OPTIMIZE_TABLE.html

          Kommentar


          • #6
            Man kann behaupten weniger/genauer selektierte Datensätze = höhere Performance.
            Diese Erweiterung ist EXPERIMENTELL.
            [...]
            Seien Sie gewarnt und verwenden Sie diese Erweiterung auf eigenes Risiko..

            Kommentar


            • #7
              Guter Tipp mit dem optimize-Befehl.
              Klar kann man alles behaupten ich meinte es ja auch nicht so :P

              Danke für die Antworten.

              Kommentar


              • #8
                Felder leeren bring nur unwesentliche performance-Steigerung.
                Bei der Größe der Tabelle würde ich eher das Tabellenformat auf 'starr' umstellen.
                Das macht das Finden von Einträgen VIEL schneller, da bei einer festen 'Zeilenlänge' das finden der Datenposition wesentlich einfacher wird (länge * index = position).
                Dazu einfach von varchar auf char umstellen.

                Aber wenn du auf die ganzen Spalten eh verzichten kannst, kannst du dann die alten Einträge nicht gleich ganz raus schmeißen?
                Tabellenlayouts sind out, Browsergames sind schei$$e und die Erde ist eine Scheibe.

                Kommentar

                Lädt...
                X