Ergebnis 1 bis 6 von 6

Thema: leere Felder oder neue Tabelle

  1. #1
    shitte ist offline Neuer Benutzer
    Registriert seit
    09.12.2011
    Beiträge
    4

    Standard leere Felder oder neue Tabelle

    Hallo, wann ist es sinnvoll statt leerer Felder eine Tabelle mit Fremdschlüssel anzulegen? Beispiel: Kontaktdaten. Nur jede 100. Zeile hat auch eine Telefonnummer. Ist es beispielsweise besser, eine Spalte zu haben die zu 99 % leere Zellen hat? Oder eine neue Tabelle, die jedes mal parallel abgefragt wird? Lässt sich hier eine ungefähre Grenze festlegen, ab der sich eine neue Tabelle rentiert (Performance/Speicherplatz)?. Vielen Dank

  2. #2
    akretschmer ist offline Super-Moderator
    Registriert seit
    29.10.2006
    Ort
    Dresden
    Beiträge
    5.465

    Standard

    Zitat Zitat von shitte Beitrag anzeigen
    Hallo, wann ist es sinnvoll statt leerer Felder eine Tabelle mit Fremdschlüssel anzulegen? Beispiel: Kontaktdaten. Nur jede 100. Zeile hat auch eine Telefonnummer. Ist es beispielsweise besser, eine Spalte zu haben die zu 99 % leere Zellen hat? Oder eine neue Tabelle, die jedes mal parallel abgefragt wird? Lässt sich hier eine ungefähre Grenze festlegen, ab der sich eine neue Tabelle rentiert (Performance/Speicherplatz)?. Vielen Dank
    Eine allgemeine Regel kenne ich da nicht, aber z.B. kann eine Person 0, 1, 2 oder auch 100 Telefonnummern haben, schon deswegen würde ich da zu einer extra Tabelle greifen ...

    Andreas
    --
    ads Das hatte dir akretschmer gestern schon gesagt und siehe da sobald du das machst, funktioniert es ;-)
    https://www.xing.com/profile/Andreas_Kretschmer7

  3. #3
    shitte ist offline Neuer Benutzer
    Registriert seit
    09.12.2011
    Beiträge
    4

    Standard

    ok, schlechtes Beispiel (: Aber es soll wirklich nur das Prinzip verdeutlichen.

  4. #4
    shitte ist offline Neuer Benutzer
    Registriert seit
    09.12.2011
    Beiträge
    4

    Standard

    Aus einem anderen Topic Leeren von Feldern sinnvoll? | SQL & Datenbank - Programmierung schlie�e ich, dass die Aufteilung in mehrere Tabellen deutlich Speicherplatz spart, da f�r NULL-Felder Platz reserviert wird. Die Performance w�rde verschlechter werden, da jetzt mehr Tabellen durchlaufen werden m�ssten. Also hinge der Entschluss, die Tabelle aufzuteilen von mehreren Faktoren ab: Wie viel Speicherplatz kann aufgewendet werden, wie viel Rechenleistung ist verf�gbar und wie hoch ist der Anteil der Abfragen, bei denen die Tabelle nicht durlaufen werden muss (z. B. Insert?), an den gesamten Abfragen. Bei der Speicherplatzeinsparung m�sste noch der zus�tzliche Bedarf f�r die Fremdschl�ssel einbezogen werden. Richtig?

  5. #5
    akretschmer ist offline Super-Moderator
    Registriert seit
    29.10.2006
    Ort
    Dresden
    Beiträge
    5.465

    Standard

    Zitat Zitat von shitte Beitrag anzeigen
    Aus einem anderen Topic Leeren von Feldern sinnvoll? | SQL & Datenbank - Programmierung schlie�e ich, dass die Aufteilung in mehrere Tabellen deutlich Speicherplatz spart, da f�r NULL-Felder Platz reserviert wird. Die Performance w�rde verschlechter werden, da jetzt mehr Tabellen durchlaufen werden m�ssten.
    Kommt drauf an, denn die Tabellen, die zu durchsuchen sind, sind kleiner. Das spart wieder I/O bzw. Platz in shared_buffers und/oder cache.

    Also hinge der Entschluss, die Tabelle aufzuteilen von mehreren Faktoren ab: Wie viel Speicherplatz kann aufgewendet werden, wie viel Rechenleistung ist verf�gbar
    Rechenleistung ist bei Datenbanken fast immer mehr verfügbar als I/O.

    und wie hoch ist der Anteil der Abfragen, bei denen die Tabelle nicht durlaufen werden muss (z. B. Insert?), an den gesamten Abfragen. Bei der Speicherplatzeinsparung m�sste noch der zus�tzliche Bedarf f�r die Fremdschl�ssel einbezogen werden. Richtig?

    Ja.


    Andreas
    --
    ads Das hatte dir akretschmer gestern schon gesagt und siehe da sobald du das machst, funktioniert es ;-)
    https://www.xing.com/profile/Andreas_Kretschmer7

  6. #6
    shitte ist offline Neuer Benutzer
    Registriert seit
    09.12.2011
    Beiträge
    4

    Standard

    Vielen Dank Andreas

Ähnliche Themen

  1. Antworten: 28
    Letzter Beitrag: 27.10.2011, 14:38
  2. Antworten: 15
    Letzter Beitrag: 26.08.2011, 10:44
  3. Antworten: 5
    Letzter Beitrag: 26.11.2009, 16:31
  4. Frage leere Felder werden nicht als solche erkannt
    Von eisenstein im Forum SQL
    Antworten: 4
    Letzter Beitrag: 13.11.2008, 16:57
  5. Nullwerte oder lieber leere Strings speichern.
    Von congor im Forum Programmierung
    Antworten: 10
    Letzter Beitrag: 29.10.2006, 18:16

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

Links: Tobias Bauer - IT- und Funkdienstleistungen   -   Bilderrahmen-kaufen.de - Der Onlineshop für Bilderrahmen & Fotorahmen   -   Funkforum