Ich habe gewählt, um UUIDs als Primärschlüssel für alle meine Tabellen in DB zu verwenden. Aber ich habe immer noch Django-Standardtabellen wie Gruppen, Berechtigungen, Django_admin_log usw. Sollte ich sie überschreiben, um die Pk-UUID zu machen oder sollte ich es so lassen?
Es ist natürlich einfacher, die normale Ganzzahl zu verlassen, aber ich habe das Gefühl, dass das Mischen normaler IDs und UUIDs in der Datenbank zumindest verwirrend ist. Ich habe keine explizite Notwendigkeit, sie zu überschreiben, um UUID zu verwenden, aber dennoch kann ich nicht auf die Schlussfolgerung kommen.Sollte ich UUID überall verwenden oder ist es in Ordnung, mit normalen IDs zu mischen?
0
A
Antwort
0
UUIDs haben mehr Speicheraufwand als serielle Ganzzahlen. Aus diesem Grund würde ich empfehlen, dass sie nur dort verwendet werden, wo ein allgemeiner Nutzen für sie besteht. Sie haben nicht angegeben, mit welcher Datenbank Sie arbeiten, aber es ist möglich, dass Sie andere Spalten in den erweiterten Speicher bringen (und daher implizite Joins erzwingen).
Wenn Ihre Tabellen ziemlich schmal sind und Sie keine ID-Bereiche abfragen müssen, dann macht das wenig Unterschied.
Ich sehe kein Problem, sie zu mischen. In manchen Situationen ist eine automatisch inkrementierte Ganzzahl sinnvoller und in manchen Situationen ist eine UUID sinnvoller. Besonders wenn alle Integer-ID-Einträge nur in den Standard-Django-Tabellen vorhanden sind, würde ich sagen, mach dir keine Sorgen darüber. –