2009-04-08 5 views

Répondre

5

Comment mesurez-vous l'efficacité?

Par exemple, le stockage du UUID (qui est un codage de texte d'un byte[]) comme deux long valeurs vous permettra de les comparer très rapidement sur une architecture 64 bits (beaucoup plus rapidement que String comparaison, ce qui est caractère-par-caractère). Cependant, votre efficacité de codage en souffrirait, car vous devez écrire un type personnalisé.

Qu'est-ce qui est important dans votre cas?


Si vous êtes intéressé par la performance au sein de la base de données, la performance dépendra quelque peu de la base de données que vous choisissez, mais tous essentiellement comparer UUID octet par octet. Donc, l'important est de faire en sorte que les différences entre les clés soient plus susceptibles d'être vers le début de la clé.

Les UUID sont bien conçus à cet égard. Le meilleur UUID est le style "aléatoire". Ils n'ont pas beaucoup de sous-chaînes communes, y compris le début, et ils ne fuient pas les informations sur la machine qui les a générés. Mais, le style "horodatage" des UUID fait aussi une bonne clé, puisque les bits de poids faible (qui varient rapidement) sont les premiers dans la chaîne, tandis que les bits de poids fort (qui ne changent pas pour les UUID successifs) plus tard.

+0

Raccords et indice de rendement – systemoutprintln

Questions connexes