Ankündigung

Einklappen
Keine Ankündigung bisher.

PRIMARY KEY hat das Ende erreicht

Einklappen

Neue Werbung 2019

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

  • #16
    Zitat von Perry Staltic Beitrag anzeigen
    Das Dürfen ist dann vor allem eine Frage nach "darf es auch einfacher sein".
    Das einfachste wäre IMHO den Datentyp auf das nächsthöhere zu ändern.

    Kommentar


    • #17
      Ja klar, aber was ist das nächst höhere von Bigint? Und hat es ähnlich brauchbare Eigenschaften wie Bigint? Decimal/Numeric taugt wohl nicht sonderlich für PK. Dann ist man eigentlich gleich bei den von Dir genannten Text oder Binärtypen. Vielleicht auch nicht verkehrt, ich weiß spontan nicht, wie man hier bequem eindeutige ID baut, also sowas wie eine Sequenz. Aber mgl. geht das ganz einfach durch Kombination der "normalen" Verfahren.
      Geänderte Datentypen könnten auch den ein oder anderen Schluckauf in Reports oder Anwendung bedeuten, ähnlich wie bei Verdoppelung der Keys.

      Kommentar


      • #18
        Zitat von Perry Staltic Beitrag anzeigen
        Ja klar, aber was ist das nächst höhere von Bigint?
        Wenn nach Millionen von Jahren die Grenze von BIGINT erreicht wird, gibts bestimmt schon einen größeren Integer-Typ.

        Kommentar


        • #19
          Wechsle doch einfach auf UUIDs anstelle von Integer. Ein UUID kann einer von 5.3x1036 (5.3 undecillion) sein.

          Die Zahl habe ich von Wikipedia kopiert, da ich weder eine Ahnung habe, wie das ausgesprochen wird noch was das überhaupt für eine Zahl sein soll. Und wenn du dieses Limit erreicht hast, dann hast du sehr aktive User, vermutlich auch noch aus anderen Galaxien und Universen.

          Das ist die Zahl in "lesbarer" Form dargestellt: https://www.wolframalpha.com/input/?i=5.3x10%5E36
          [URL="https://github.com/chrisandchris"]GitHub.com - ChrisAndChris[/URL] - [URL="https://github.com/chrisandchris/symfony-rowmapper"]RowMapper und QueryBuilder für MySQL-Datenbanken[/URL]

          Kommentar


          • #20
            oh, das ist eine schlechte Lösung ..., wenn sich die Tabelle mit der Zeit füllt drohen Kollisionen, damit könnte er User aus anderen Galaxien verärgern - wer will das schon?
            PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services

            Kommentar


            • #21
              Hehe, ja wer will das

              Und jetzt einmal ernsthaft, UUIDs zu verwenden, finde ich, ist eine gute Alternative zu Increments, gerade in distributierten Systemen, wo z.B. die User ID an mehreren Orten verwendet wird.
              [URL="https://github.com/chrisandchris"]GitHub.com - ChrisAndChris[/URL] - [URL="https://github.com/chrisandchris/symfony-rowmapper"]RowMapper und QueryBuilder für MySQL-Datenbanken[/URL]

              Kommentar

              Lädt...
              X