Steffen M,: wertebereich für eine ID

Hallo,

ich gebe zu, dass ich in Sachen Datenbanken (SQL & CO) kein Experte bin. Daher aber auch meine Frage. Wenn ich eine ID in einer Datenbank festlege muss man ja immer den wertebereich mit angeben. Ich bereite die Daten als XML auf, die dann wiederum in eine Datenbank importiert werden. Die einzelnen Elmente sind in einem XML schema hinterlegt und besitzen ein ID, die sich als positiver 64bit Integer Wert abbildet (19 Stellen). Kann man so einen Wertebereich auch einfach für eine id in Datenbanken einsetzen oder sind 19 Stellen "zu lang". Hat dies Auswirkungen auf die Performance. Es geht also nu um die Frage, ob 64bit integer id untypisch für datenbanken sind oder nicht.

Gruß

  1. Hi,

    Gegenfrage: Warum nicht? Wenn man soviele Werte, sollte man sie auch identifizieren können über Ids und dementsprechend einen brauchbaren Wertebereich wählen.

    Nicht nur für IDs sollte man den Wertebereich / Datentyp angeben, sondern für alle Variablen- und Tabellenspaltendeklarationen. IDs sind lediglich Spalten mit zusätzlicher semantischer Bedeutung (z.b. eine ID darf nur einmal vorkommen). Auch Text kann man zu IDs machen.

    64bit Integers heissen je nach Datenbanksystem: bigint, long oder vielleicht auch longint. Konsultiere dazu das Handbuch deines Datenbanksystems im Kapitel "Datentypen"

    Hat dies Auswirkungen auf die Performance

    Kann man pauschal überhaupt nicht beantworten. "Performance" hängt von so vielen anderen Dingen eher ab als von der Wahl von bigint als Datentyp einer ID Spalte. Die Verarbeitung mit/in/durch XML bringt da für gewöhnlich zig-fachen Mehraufwand ("Overhead") mit sich, vergleichen mit skalaren Zahlenwerten.

    Ciao, Frank