Ankündigung

Einklappen
Keine Ankündigung bisher.

Frage wegen Join Verknüpfung

Einklappen

Neue Werbung 2019

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

  • Frage wegen Join Verknüpfung

    Hallo Leute,

    ist es Geschwindigkeitsmäßig egal, ob ich für Joins in den beiden Tabellen als Schlüssel ein Integer oder ein Varchar nehme? Oder ist ein Integer grundsätzlich schneller?

    Gruß
    Bruno

  • #2
    So gefühlsmässig würde ich sagen, dass Integer scho schneller ist. Zumal man zur Verknüpfung die Indizes nur numerisch gestalten sollte, um die Redundanz klein zu halten. So sollte sich die Frage eigentlich nicht stellen

    Kommentar


    • #3
      Integer ist garantiert schneller. Auch wenn VARCHAR vielleicht intern beim Indizieren nur durch INT ersetzt wird (Vermutung). Schneller als INT kann VARCHAR dadurch trotzdem nicht werden.

      Kommentar


      • #4
        Mist, ich habs befürchtet. Ich will eine große fette schlecht Tabelle besser strukturieren und dazu aufsplitten, relational eben. Ich könnte eine bereits vorhandene eindeutige Spalte (varchar) als Schlüssel nehmen, die alte DB einfach kopieren, ein paar Spalten löschen, per Join alles abfragen und wäre in wenigen Minuten fertig.

        Kommentar


        • #5
          Hm so ganz blicke ich nicht durch.
          (ändert nichts an der Tatsache, dass INT schneller ist)
          Hol mal etwas aus.

          Kommentar


          • #6
            Hmm ... Wennde scho alles neu strukturiert, wieso nimmst du dann nich als PRIMARY KEY direkt Ganzzahlen? Ich sehe keinen Vorteil von Varchar als Primkey ^^

            Kommentar


            • #7
              Es stehen mehere Tabellen (eine große schreit nach Optimierung, z.B. 20 Datensätze des gleichen Kunden mit gleicher Adresse usw. aber anderen Bestellnummern) in Relation zueinander, aber als Schlüssel wird eine Text-Zahlenkombination genutzt, die der ursprüngliche Programmierer im Script generiert. Wenn ich diese Relationen ändern möchte, weil das Datenbankdesign nicht korrekt ist muss ich ja eindeutige Schlüssel haben. Da bietet sich ja ein int mit autoincrement förmlich an. Aber wie soll ich alle Relationen aufrecht erhalten, wenn ich den Schlüssel tausche bzw. neu erstelle. Ein überall vorhandenes varchar Feld könnte ich nehmen, es ist unique und ideal. Nur eben etwas langsamer (meßbar? langsamer oder nur im Kopf ) und recht ungewöhnlich.

              Kommentar


              • #8
                Na, wenn es eine Zahlenkombination in Textform ist, lässt es sich sicher umwandeln.

                Kommentar


                • #9
                  Es ist nur langsamer, das heißt nicht, dass es langsam ist!
                  Wenn du schon dabei bist, mach es gleich richtig und steige trotzdem auf einen auto_increment INT um.
                  Du kannst ja diese VARCHAR-Spalte als UNIQUE und INDEX markieren und damit dann trotzdem Einträge selektieren.

                  Kommentar

                  Lädt...
                  X