dedlfix: mysql: Zahl-ID vs. Mix-ID

Beitrag lesen

Tach!

Ich möchte aber vermeiden, dass man anhand der URL auf die Position innerhalb der Datenbank schließen kann.

Die Position in der Tabelle ist vermutlich dein geringstes Problem. Die Datensätze sind per Definition unsortiert. Du kannst sie also auch bei lückenlos durchnummerierten IDs unsortiert beziehungsweise zufällig sortiert in eine Tabelle schreiben. Was also ist dein eigentliches Problem?

Was genau spricht eigentlich dagegen, von begin an eine userId der Art "72H2H.J8_F6" zu verwenden und diese auch als PRIMARY KEY festzulegen.

Aus Datensicht gar nichts. Eine ID muss lediglich eindeutig sein, alles andere ist belanglos. Der rechentechnische Aufwand wurde ja bereits thematisiert.

Ist das aber auch performant?

Das kommt ganz auf deine Daten drauf an. Die Bandbreite geht hier von "belanglos, weil nicht spürbar", meistens bei wenigen Datensätzen, bis zu "ein Index nützt auch nichts mehr", wenn Indexwerte zu viele Fundstellen ergeben.

Wie macht es denn YouTube? Meint ihr, die Video-ID im Browser ist dieselbe, wie in der Datenbank?

Was wir meinen hat keinerlei Bezug zu den Dingen hinter den Kulissen von Youtube, und ob dann diese eine Relevanz für deinen Fall haben, ist ebenfalls nicht beantwortbar. Vielleicht verwendet YouTube auch etwas ganz anderes als Datenhaltung als eine Datenbank. Der Vorteil dieser ID ist vermutlich die höhere Anzahl der Kombinationen bei gleichbleibender Länge. 11 Zeichen aus 64 (a-zA-Z0-9_-) ergibt 64^11 Möglichkeiten im Gegensatz zu 10^11 bei Verwendung von 0-9. Davon abziehen muss man vermutlich die Werte, bei denen allzu viele Wiederholungen von Zeichen vorkommen.

dedlfix.