MySQL: Tabllen mit vielen spalten sinnlos?



  • hallo leute

    ich hätte zwei fragen an die MySQL gurus. Leider bin ich noch nicht so fit mit MySQL und wollte mal nachfragen, ob es sinnlos ist bzw. in qualität beeinträchtigt wird, wenn man eine tabelle mit sagen wir mal 200 spalten hat?

    durchaus könnte es vorkommen das ein eintrag nur 10 von 200 spalten benutzt. Ich ging immer der annahme, das MySQL so schlau ist und die restlichen 190 spalten mit 0 bytes belegt, sozusagen. Was ja heissen würde, das es keine sinnlose speicherbelegung gäben würde, oder sehe ich das ganze falsch?

    Dann noch zwei fragen:

    1. Was hat es nun genau mit dem NULL aufsich, was man bei den feldern wählen kann. Etwa genau das was ich oben beschrieben habe? kenne den NULL wert nur von programmiersprachen 🙂

    2. Wie kann man werte von einer spalte in eine andere spalte kopieren, aber nur dann, wenn die destination spalte an der aktuellen zeile keinen eintrag hat? z.B.

    spalte_D      spalte_S
    a             1
    b             2
      <- kopieren 3
    d             4
      <- kopieren 5
      <- kopieren 6
    g             7
    

    ich hoffe ihr könnt mir helfen, vielen dank schonmal im voraus.



  • 200 Spalten klingt irgendwie stark so, als solltest Du Dein Schema überdenken. Meistens ist es günstig, wenn Du Deine Daten in die dritte Normalform überführst, beschreib uU mal ein bisschen genauer, was Du wie ablegen würdest.



  • es geht um eine immobilien plattform. sämtliche angaben zu den immobilien werden in einer tabelle hinterlegt. also z.b. die hauptdaten, die beschreibungen, die bilder pfade etc. etc., hald alles was mit dem objekt zu tun hat.

    wie ich gerade erfahren habe, kann MySQL über 3398 spalten pro tabelle managen und die maximale grösse beträge 64KB, mit ausnahme von BLOB und TEXT. Da komme ich ja eher schwer ran mit 200 spalten 🙂

    warum wäre es also sinnlos, wenn nicht benutzte felder in einer zeile vorkommen und diese NULL sind?



  • Es gibt aber z.B. Begrenzungen beim Query.
    Weiters ist das suchen nach Daten schlecht weil die tabelle sehr groß wird.
    Es ist einfach in vielen dateien zu suchen als in einer großen.
    Auch hat man Probleme mit dem Index u.s.w.

    Man kann einer Immobilie eine ID geben.
    Die anderen Daten szehen dann gem. der Normalisierung in anderen tabellen und werden anhand der ID angesprochen.



  • okay vielen dank euch beiden 🙂



  • Je nachdem, was das für Daten sind könnte die u.U. auch schon mehr oder minder gut Normalisiert sein.
    Dann bietet es sich an evtl einige zusammenzufassen und auszulagern.


Anmelden zum Antworten