2009-04-08 5 views

Antwort

5

Wie messen Sie die Effizienz?

Zum Beispiel Speichern der UUID (die eine Textcodierung eines byte[] ist) als ein paar long Werte ermöglicht es Ihnen, sie sehr schnell auf einem 64-Bit-Architektur zu vergleichen (viel schneller als String Vergleich, das ist Zeichen für Zeichen). Ihre Codierungseffizienz würde jedoch darunter leiden, da Sie einen benutzerdefinierten Typ schreiben müssen.

Was ist in Ihrem Fall wichtig?


Wenn Sie in der Leistung innerhalb der Datenbank interessiert sind, wird die Leistung hängt etwas von der Datenbank, die Sie wählen, aber alle werden im Wesentlichen vergleichen UUIDs Byte-für-Byte. Wichtig ist also, dass die Unterschiede zwischen den Schlüsseln eher am Anfang des Schlüssels liegen.

UUIDs sind in dieser Hinsicht gut entworfen. Die beste UUID ist der "zufällige" Stil. Sie haben nicht viele gemeinsame Teilzeichenfolgen, einschließlich des Anfangs, und sie verlieren keine Informationen über die Maschine, die sie erzeugt hat. Aber der "Zeitstempel" -Stil von UUIDs macht auch einen guten Schlüssel, da die niederwertigen Bits (die sich schnell ändern) zuerst in der Kette sind, während die höherwertigen Bits (die sich für aufeinanderfolgende UUIDs nicht ändern) kommen später.

+0

Joins und Indexeffizienz – systemoutprintln

Verwandte Themen