|
|
|
Wir haben unsere DB alle auf GUID umgestellt, da wir dadurch die Möglichkeit haben, mit unseren Entwicklungs-DB Einträge zu erstellen, die dann in das Live-System eingespielt werden können. Wenn es die fortlaufende Nummer ist, mussten wir immer die aktuelle DB sperren - unsere Anpassungen machen - dann wieder freigeben
– MyKey0815 06.07.2012
|
||
|
@MyKey0815 sehe ich auch so, dass GUID dann besser ist. Bei Replikation und INT IDENTITY gäbe es aber auch eine Möglichkeit: reseed. Allerdings geht das nur, wenn nicht zu viele verschiedene DBs vorliegen, sonst wird die Range von Identity zu klein
– kleffel 07.07.2012
|
|
|
|
|
|
|
|
Es gibt aber hier ein "Besser" und "Schlechter". Und die GUID-Idee ist einfach schlecht. Das ist Fakt.
Siehe hier: "But, a GUID that is not sequential - like one that has it's values generated in the client (using .NET) OR generated by the newid() function (in SQL Server) can be a horribly bad choice Read more: http://www.sqlskills.com/BLOGS/KIMBERLY/post/GUIDs-as-PRIMARY-KEYs-andor-the-clustering-key.aspx#ixzz20OITemOD" Es gibt keinen besseren Experten als Frau K. L. Tripp hier... – FrankHell 12.07.2012
|
||
|
Kimberly L. Tripp erwähnt in dem Artikel aber auch NEWSEQUENTIALID(). Hier gibt es weitere Informationen: http://sqlpractice.wordpress.com/2010/04/08/sql-server-newid-versus-newsequentialid/
Auch wenn du in K. L. Tripp deine persönliche Göttin gefunden hast, gibt es Szenarien, für die eine GUID besser geeignet ist. Siehe hierzu meinen ersten Link. – raffi 12.07.2012
|
||
|
Zusammengefasst sagt der erste Artikel, dass GUIDs lediglich bei datenbankübergereifenden Transaktionen (z.B. Replikation) hilfreich sein können. Mehr wesentliche Vorzüge gibt es nicht. Die Nachteile überwiegen hier schlicht. Basta.
– FrankHell 12.07.2012
|
||
|
Siehst du das nicht als mögliches Szenario für eine Software? Z.B. Mergen von Datenbanken unterschiedlicher Fillialen, ... Da fallen mir einige Anwendungsfälle ein.
– raffi 12.07.2012
|
||
|
Nochmal zum Mitlesen: 1.: Vorteil bei Replikationen (wie oben beschrieben).
Weitere NENNENSWERTE Vorteile? – FrankHell 12.07.2012
|
||
|
??? Hm, das von mir beschriebene Szenario ist ein nennenswerter Vorteil. Daher verteufle ich GUIDs nicht per se. Was mich stört sind Aussagen wie "Auf keinen Fall", wenn es durchaus, z. B. bei Replikationen, Sinn macht.
Auch "Basta" lässt keine anderen Meinungen zu. Dem ist hier definitiv nicht so. Daher bedeutete der Smilie nicht "ich weiß nicht weiter", sondern "hier brauch ich nicht weiter diskutieren". Daher von mir EOT. – raffi 12.07.2012
|
|
|
|
|
|
"Primärschlüssel sollte immer fortlaufend sein"
stimmt, daher gibt es auch sequentielle GUIDs und somit zieht dein Argument für INT/BIGINT nicht mehr ;-) – gfoidl 07.08.2012
|