meisten Websites, die irgendeine Art von Benutzerprofil haben wird entweder etwas tun:Was ist das Beste für ein Profil, eine Nummer oder einen Namen?
profile.php u = 123445
oder auch:
profile.php u = jason? .Davis
Also bin ich neugierig, wäre es langsamer, einen Namen zu verwenden, um ein Profil mit php/mysql gegen eine Nummer zu suchen, um einen Profildatensatz nachzuschlagen?
Warum ist eine Zahl schneller als ein Name in einem DB-Lookup? (Angenommen, beide sind indiziert). –
Ich bin kein Datenbankexperte, aber der gesunde Menschenverstand sagt mir, dass sogar ein Index (der die Umwandlung eines Teils des Strings in eine Datensatznummer ist) immer langsamer sein muss als ein direkter Verweis auf die Datensatznummer selbst. Unwahrscheinlich langsamer, aber immer noch langsamer. Korrigiere mich, wenn ich mich irre. –
@Esteban, eine Zahl würde höchstwahrscheinlich als Ganzzahl mit fester Breite (z. B. 4 Byte) im Gegensatz zu einer (z. B.) 32-Byte-Zeichenfolge gespeichert. Der Vergleich wäre schneller, da weniger Daten vorhanden sind, aber wichtiger ist, dass jede Seite des Indexes mehr Datensätze speichern würde, was zu weniger Festplatten-I/O führen würde. – paxdiablo