Was Daten-Typ empfohlen für den ID-Spalten?

Erkenne ich diese Frage sehr wahrscheinlich schon vorher gefragt, aber ich habe gesucht, um ein wenig bei Fragen auf StackOverflow, und ich habe nicht wirklich eine Antwort finden zu mir, so hier geht. Wenn Sie einen doppelten, bitte link, um es.

Aus irgendeinem Grund bevorzuge ich Guids (uniqueidentifier MsSql) für meinen primären Schlüssel Felder, aber ich weiß wirklich nicht, warum das besser wäre. In vielen tutorials, die ich habe, ging mir in letzter Zeit durch eine automatisch inkrementiert int verwendet wurde. Ich sehe vor-und Nachteile mit beiden:

  • Eine Guid ist immer die gleiche Größe und Länge, und es gibt keinen Grund sich sorgen zu machen über die Ausführung von Ihnen, in der Erwägung, dass gibt es ein limit, wie viele Datensätze, die Sie haben könnten, bevor Sie Sie ausführen würden, aus zahlen, die passen in eine int.
  • int ist (zumindest in C#) eine nullable-Typ, die öffnet für ein paar Verknüpfungen, wenn-Abfragen für die Daten.
  • Und int ist einfacher zu Lesen.
  • Ich Wette, Sie konnte zumindest ein paar mehr Dinge hier.

So, so einfach wie der Titel sagt es: Was ist der empfohlene Datentyp für die ID (primary key) - Spalten in einer Datenbank?

EDIT: Nach Erhalt ein paar kurze Antwort, ich muss auch hinzufügen das follow-up-Frage. Ohne Sie, Ihre Antwort ist weder überzeugend, noch die Aufklärung... 😉 Warum denken Sie so, und was sind die Nachteile der anderen option, die machen Sie nicht wählen Sie diese statt?

  • es sollte darauf hingewiesen werden, dass eine GUID und ein integer-sind nur verschiedene Arten der Anzeige und das erzeugen einer Sequenz von bytes. Wo die int-Werte werden sequenziell generiert, die GUIDs generiert werden, sind "zufällig" und es sind mehr bytes in Ihnen. das bedeutet, dass Sie nicht brauchen, um zu sehen, den bestehenden Zustand der Datenbank zu generieren. alles kann null sein in C# mit ? auf es.
InformationsquelleAutor Tomas Aschan | 2009-05-31
Schreibe einen Kommentar