Ankündigung

Einklappen
Keine Ankündigung bisher.

Große Felder wie TEXT auslagern?

Einklappen

Neue Werbung 2019

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

  • Große Felder wie TEXT auslagern?

    Hallo,

    ich habe eine Tabelle namens Stammdaten von Kunden wo die Adresse drin ist usw.

    Also relativ kurze Angaben die in VARCHAR passen...

    Allerdings gibt es pro Kunde auch 3 Felder mit Typ "TEXT" wo durchschnittlich jeweils 1500 Bytes drin stehen...

    Macht es Sinn, diese 3 Felder in eine extra Tabelle auszulagern?

    Die Felder werden bei der normalen Suche sowieso nicht abgefragt, lediglich beim Aufruf des Kundenprofils.

    Das dürfte auch geschwindigkeitstechnisch sinnvoller sein oder?

  • #2
    Kleinere Tabellen sind immer "leichter" und damit schneller. Es kommt darauf an wieviele Kunden in dieser DB stehen, wenns nur wenige (< 100) sind, ist es wohl nicht nötig. Ist aber jetzt nur eine Einschätzung.

    Kommentar


    • #3
      Sagen wir mal 1.000 Kunden, Tendenz steigend.

      Ca. 35 "kleine" VARCHARs + INTs...

      Okay dann lager ich das mal aus... kann man ja problemlos mit einem JOIN bei Bedarf wieder mit einlesen...

      Kommentar


      • #4
        OK, das wären ja dann 3x1.500x1.000 = 4.500.000 (4,5 MB).
        Performance-fördernd ist das sicher nicht.

        Kommentar


        • #5
          Also doch egal?

          Kommentar


          • #6
            Ne würde gerade sagen eben nicht. 4,5 MB mehr in einer (MySQL!) Datenbank machen sicherlich was aus => Auslagern!
            Aber bin kein Experte, weiß nicht wie die Datenbanken intern funktionieren, ob das eh komplett nur Zeiger auf die Indexe sind und deshalb also egal ist.

            Allerdings sind 35 Spalten für einen Kunden extrem viel. Macht mich neugierig, was sind das für Felder?

            Edit: andererseits überlege ich mir gerade, kommt ja noch der Mehraufwand für das Suchen in der anderen Tabelle hinzu, denn wenn du einen Kunden suchst, bearbeitest, löscht oder anlegst mußt du ja dann doch wieder (bis auf bei bearbeiten möglicherweise) auf beide Tabellen zugreifen. Aufgrund dieser Überlegung folgere ich: Ich hab keine Ahnung & bin der falsche Ansprechpartner

            Kommentar


            • #7
              Ja eigentlich gibt man ja direkt an, WAS man überhaupt abfragen will ( SELECT bla,blubb,foo FROM...), von daher werden die 3 TEXT-Spalten nicht berücksichtigt... aber sowas sollte wohl man eher mal durchtesten mit einer Demo-DB oder so...

              35 Felder kommen schnell zusammen, ohne das es Geheiminfos sind

              id
              name
              vorname
              straße
              hausnummer
              ort
              plz
              land
              bundesland
              geburtsdatum
              familienstand
              kinder
              telefon
              handy
              email
              ...

              Kommentar


              • #8
                Ja eben, soweit komme ich auch, aber auf weitere 15 fallen mir keine Sachen ein außer

                passwort
                telefon => vorwahl telefon durchwahl
                zuletzt bearbeitet
                erstellt
                logins
                letzter login

                Aber egal. Gib hier Bescheid wenn du zu nem Performance Test gekommen bist, würd mich mal interessieren ob es was bringt.

                Kommentar


                • #9
                  Habs mit 5.000 Leuten mal mit und mal ohne einem Textfeld (mit jeweils 3KB Text) getestet: Kein Tempo-Unterschied!

                  Also kann man beruhigt alles in 1 Tab reinpacken...

                  Kommentar


                  • #10
                    Was sind denn bitte schön mickrige 4,5 MB? Das sind doch Peanuts! MySQL ist eigentlich für wesentlich größere Datenmenge ausgelegt.

                    Gruß
                    phpfan

                    Kommentar

                    Lädt...
                    X